(function($){ 'use strict'; if(typeof wpcf7==='undefined'||wpcf7===null){ return; } wpcf7=$.extend({ cached: 0, inputs: [] }, wpcf7); $(function(){ wpcf7.supportHtml5=(function(){ var features={}; var input=document.createElement('input'); features.placeholder='placeholder' in input; var inputTypes=[ 'email', 'url', 'tel', 'number', 'range', 'date' ]; $.each(inputTypes, function(index, value){ input.setAttribute('type', value); features[ value ]=input.type!=='text'; }); return features; })(); $('div.wpcf7 > form').each(function(){ var $form=$(this); wpcf7.initForm($form); if(wpcf7.cached){ wpcf7.refill($form); }}); }); wpcf7.getId=function(form){ return parseInt($('input[name="_wpcf7"]', form).val(), 10); }; wpcf7.initForm=function(form){ var $form=$(form); wpcf7.setStatus($form, 'init'); $form.submit(function(event){ if(! wpcf7.supportHtml5.placeholder){ $('[placeholder].placeheld', $form).each(function(i, n){ $(n).val('').removeClass('placeheld'); }); } if(typeof window.FormData==='function'){ wpcf7.submit($form); event.preventDefault(); }}); $('.wpcf7-submit', $form).after(''); wpcf7.toggleSubmit($form); $form.on('click', '.wpcf7-acceptance', function(){ wpcf7.toggleSubmit($form); }); $('.wpcf7-exclusive-checkbox', $form).on('click', 'input:checkbox', function(){ var name=$(this).attr('name'); $form.find('input:checkbox[name="' + name + '"]').not(this).prop('checked', false); }); $('.wpcf7-list-item.has-free-text', $form).each(function(){ var $freetext=$(':input.wpcf7-free-text', this); var $wrap=$(this).closest('.wpcf7-form-control'); if($(':checkbox, :radio', this).is(':checked')){ $freetext.prop('disabled', false); }else{ $freetext.prop('disabled', true); } $wrap.on('change', ':checkbox, :radio', function(){ var $cb=$('.has-free-text', $wrap).find(':checkbox, :radio'); if($cb.is(':checked')){ $freetext.prop('disabled', false).focus(); }else{ $freetext.prop('disabled', true); }}); }); if(! wpcf7.supportHtml5.placeholder){ $('[placeholder]', $form).each(function(){ $(this).val($(this).attr('placeholder')); $(this).addClass('placeheld'); $(this).focus(function(){ if($(this).hasClass('placeheld')){ $(this).val('').removeClass('placeheld'); }}); $(this).blur(function(){ if(''===$(this).val()){ $(this).val($(this).attr('placeholder')); $(this).addClass('placeheld'); }}); }); } if(wpcf7.jqueryUi&&! wpcf7.supportHtml5.date){ $form.find('input.wpcf7-date[type="date"]').each(function(){ $(this).datepicker({ dateFormat: 'yy-mm-dd', minDate: new Date($(this).attr('min')), maxDate: new Date($(this).attr('max')) }); }); } if(wpcf7.jqueryUi&&! wpcf7.supportHtml5.number){ $form.find('input.wpcf7-number[type="number"]').each(function(){ $(this).spinner({ min: $(this).attr('min'), max: $(this).attr('max'), step: $(this).attr('step') }); }); } wpcf7.resetCounter($form); $form.on('change', '.wpcf7-validates-as-url', function(){ var val=$.trim($(this).val()); if(val && ! val.match(/^[a-z][a-z0-9.+-]*:/i) && -1!==val.indexOf('.')){ val=val.replace(/^\/+/, ''); val='http://' + val; } $(this).val(val); }); }; wpcf7.submit=function(form){ if(typeof window.FormData!=='function'){ return; } var $form=$(form); $('.ajax-loader', $form).addClass('is-active'); wpcf7.clearResponse($form); var formData=new FormData($form.get(0)); var detail={ id: $form.closest('div.wpcf7').attr('id'), status: 'init', inputs: [], formData: formData }; $.each($form.serializeArray(), function(i, field){ if('_wpcf7'==field.name){ detail.contactFormId=field.value; }else if('_wpcf7_version'==field.name){ detail.pluginVersion=field.value; }else if('_wpcf7_locale'==field.name){ detail.contactFormLocale=field.value; }else if('_wpcf7_unit_tag'==field.name){ detail.unitTag=field.value; }else if('_wpcf7_container_post'==field.name){ detail.containerPostId=field.value; }else if(field.name.match(/^_/)){ }else{ detail.inputs.push(field); }}); wpcf7.triggerEvent($form.closest('div.wpcf7'), 'beforesubmit', detail); var ajaxSuccess=function(data, status, xhr, $form){ detail.id=$(data.into).attr('id'); detail.status=data.status; detail.apiResponse=data; switch(data.status){ case 'init': wpcf7.setStatus($form, 'init'); break; case 'validation_failed': $.each(data.invalid_fields, function(i, n){ $(n.into, $form).each(function(){ wpcf7.notValidTip(this, n.message); $('.wpcf7-form-control', this).addClass('wpcf7-not-valid'); $('.wpcf7-form-control', this).attr('aria-describedby', n.error_id ); $('[aria-invalid]', this).attr('aria-invalid', 'true'); }); }); wpcf7.setStatus($form, 'invalid'); wpcf7.triggerEvent(data.into, 'invalid', detail); break; case 'acceptance_missing': wpcf7.setStatus($form, 'unaccepted'); wpcf7.triggerEvent(data.into, 'unaccepted', detail); break; case 'spam': wpcf7.setStatus($form, 'spam'); wpcf7.triggerEvent(data.into, 'spam', detail); break; case 'aborted': wpcf7.setStatus($form, 'aborted'); wpcf7.triggerEvent(data.into, 'aborted', detail); break; case 'mail_sent': wpcf7.setStatus($form, 'sent'); wpcf7.triggerEvent(data.into, 'mailsent', detail); break; case 'mail_failed': wpcf7.setStatus($form, 'failed'); wpcf7.triggerEvent(data.into, 'mailfailed', detail); break; default: wpcf7.setStatus($form, 'custom-' + data.status.replace(/[^0-9a-z]+/i, '-') ); } wpcf7.refill($form, data); wpcf7.triggerEvent(data.into, 'submit', detail); if('mail_sent'==data.status){ $form.each(function(){ this.reset(); }); wpcf7.toggleSubmit($form); wpcf7.resetCounter($form); } if(! wpcf7.supportHtml5.placeholder){ $form.find('[placeholder].placeheld').each(function(i, n){ $(n).val($(n).attr('placeholder')); }); } $('.wpcf7-response-output', $form) .html('').append(data.message).slideDown('fast'); $('.screen-reader-response', $form.closest('.wpcf7')).each(function(){ var $response=$(this); $('[role="status"]', $response).html(data.message); if(data.invalid_fields){ $.each(data.invalid_fields, function(i, n){ if(n.idref){ var $li=$('
  • ').append($('').attr('href', '#' + n.idref).append(n.message)); }else{ var $li=$('
  • ').append(n.message); } $li.attr('id', n.error_id); $('ul', $response).append($li); }); }}); if(data.posted_data_hash){ $form.find('input[name="_wpcf7_posted_data_hash"]').first() .val(data.posted_data_hash); }}; $.ajax({ type: 'POST', url: wpcf7.apiSettings.getRoute('/contact-forms/' + wpcf7.getId($form) + '/feedback'), data: formData, dataType: 'json', processData: false, contentType: false }).done(function(data, status, xhr){ ajaxSuccess(data, status, xhr, $form); $('.ajax-loader', $form).removeClass('is-active'); }).fail(function(xhr, status, error){ var $e=$('
    ').text(error.message); $form.after($e); }); }; wpcf7.triggerEvent=function(target, name, detail){ var event=new CustomEvent('wpcf7' + name, { bubbles: true, detail: detail }); $(target).get(0).dispatchEvent(event); }; wpcf7.setStatus=function(form, status){ var $form=$(form); var prevStatus=$form.attr('data-status'); $form.data('status', status); $form.addClass(status); $form.attr('data-status', status); if(prevStatus&&prevStatus!==status){ $form.removeClass(prevStatus); }} wpcf7.toggleSubmit=function(form, state){ var $form=$(form); var $submit=$('input:submit', $form); if(typeof state!=='undefined'){ $submit.prop('disabled', ! state); return; } if($form.hasClass('wpcf7-acceptance-as-validation')){ return; } $submit.prop('disabled', false); $('.wpcf7-acceptance', $form).each(function(){ var $span=$(this); var $input=$('input:checkbox', $span); if(! $span.hasClass('optional')){ if($span.hasClass('invert')&&$input.is(':checked') || ! $span.hasClass('invert')&&! $input.is(':checked')){ $submit.prop('disabled', true); return false; }} }); }; wpcf7.resetCounter=function(form){ var $form=$(form); $('.wpcf7-character-count', $form).each(function(){ var $count=$(this); var name=$count.attr('data-target-name'); var down=$count.hasClass('down'); var starting=parseInt($count.attr('data-starting-value'), 10); var maximum=parseInt($count.attr('data-maximum-value'), 10); var minimum=parseInt($count.attr('data-minimum-value'), 10); var updateCount=function(target){ var $target=$(target); var length=$target.val().length; var count=down ? starting - length:length; $count.attr('data-current-value', count); $count.text(count); if(maximum&&maximum < length){ $count.addClass('too-long'); }else{ $count.removeClass('too-long'); } if(minimum&&length < minimum){ $count.addClass('too-short'); }else{ $count.removeClass('too-short'); }}; $(':input[name="' + name + '"]', $form).each(function(){ updateCount(this); $(this).keyup(function(){ updateCount(this); }); }); }); }; wpcf7.notValidTip=function(target, message){ var $target=$(target); $('.wpcf7-not-valid-tip', $target).remove(); $('').attr({ 'class': 'wpcf7-not-valid-tip', 'aria-hidden': 'true', }).text(message).appendTo($target); if($target.is('.use-floating-validation-tip *')){ var fadeOut=function(target){ $(target).not(':hidden').animate({ opacity: 0 }, 'fast', function(){ $(this).css({ 'z-index': -100 }); }); }; $target.on('mouseover', '.wpcf7-not-valid-tip', function(){ fadeOut(this); }); $target.on('focus', ':input', function(){ fadeOut($('.wpcf7-not-valid-tip', $target)); }); }}; wpcf7.refill=function(form, data){ var $form=$(form); var refillCaptcha=function($form, items){ $.each(items, function(i, n){ $form.find(':input[name="' + i + '"]').val(''); $form.find('img.wpcf7-captcha-' + i).attr('src', n); var match=/([0-9]+)\.(png|gif|jpeg)$/.exec(n); $form.find('input:hidden[name="_wpcf7_captcha_challenge_' + i + '"]').attr('value', match[ 1 ]); }); }; var refillQuiz=function($form, items){ $.each(items, function(i, n){ $form.find(':input[name="' + i + '"]').val(''); $form.find(':input[name="' + i + '"]').siblings('span.wpcf7-quiz-label').text(n[ 0 ]); $form.find('input:hidden[name="_wpcf7_quiz_answer_' + i + '"]').attr('value', n[ 1 ]); }); }; if(typeof data==='undefined'){ $.ajax({ type: 'GET', url: wpcf7.apiSettings.getRoute('/contact-forms/' + wpcf7.getId($form) + '/refill'), beforeSend: function(xhr){ var nonce=$form.find(':input[name="_wpnonce"]').val(); if(nonce){ xhr.setRequestHeader('X-WP-Nonce', nonce); }}, dataType: 'json' }).done(function(data, status, xhr){ if(data.captcha){ refillCaptcha($form, data.captcha); } if(data.quiz){ refillQuiz($form, data.quiz); }}); }else{ if(data.captcha){ refillCaptcha($form, data.captcha); } if(data.quiz){ refillQuiz($form, data.quiz); }} }; wpcf7.clearResponse=function(form){ var $form=$(form); $form.siblings('.screen-reader-response').each(function(){ $('[role="status"]', this).html(''); $('ul', this).html(''); }); $('.wpcf7-not-valid-tip', $form).remove(); $('[aria-invalid]', $form).attr('aria-invalid', 'false'); $('.wpcf7-form-control', $form).removeClass('wpcf7-not-valid'); $('.wpcf7-response-output', $form).hide().empty(); }; wpcf7.apiSettings.getRoute=function(path){ var url=wpcf7.apiSettings.root; url=url.replace(wpcf7.apiSettings.namespace, wpcf7.apiSettings.namespace + path); return url; };})(jQuery); (function (){ if(typeof window.CustomEvent==="function") return false; function CustomEvent(event, params){ params=params||{ bubbles: false, cancelable: false, detail: undefined }; var evt=document.createEvent('CustomEvent'); evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); return evt; } CustomEvent.prototype=window.Event.prototype; window.CustomEvent=CustomEvent; })(); !function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(s){var u,l,f,d,t,p,h,g,i,e,b,a,o,c,m,y,n,r,v,x,C="ui-effects-",w=s;function _(t,e,n){var r=g[e.type]||{};return null==t?n||!e.def?null:e.def:(t=r.floor?~~t:parseFloat(t),isNaN(t)?e.def:r.mod?(t+r.mod)%r.mod:t<0?0:r.max")[0],b=u.each,e.style.cssText="background-color:rgba(1,1,1,.5)",i.rgba=-1a.mod/2?r+=a.mod:r-o>a.mod/2&&(r-=a.mod)),f[n]=_((o-r)*i+r,e)))}),this[e](f)},blend:function(t){if(1===this._rgba[3])return this;var e=this._rgba.slice(),n=e.pop(),r=p(t)._rgba;return p(u.map(e,function(t,e){return(1-n)*r[e]+n*t}))},toRgbaString:function(){var t="rgba(",e=u.map(this._rgba,function(t,e){return null==t?2").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e={width:n.width(),height:n.height()},o=document.activeElement;try{o.id}catch(t){o=document.body}return n.wrap(t),n[0]!==o&&!s.contains(n[0],o)||s(o).focus(),t=n.parent(),"static"===n.css("position")?(t.css({position:"relative"}),n.css({position:"relative"})):(s.extend(r,{position:n.css("position"),zIndex:n.css("z-index")}),s.each(["top","left","bottom","right"],function(t,e){r[e]=n.css(e),isNaN(parseInt(r[e],10))&&(r[e]="auto")}),n.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),n.css(e),t.css(r).show()},removeWrapper:function(t){var e=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),t[0]!==e&&!s.contains(t[0],e)||s(e).focus()),t},setTransition:function(r,t,o,a){return a=a||{},s.each(t,function(t,e){var n=r.cssUnit(e);0").outerWidth(1).jquery||a.each(["Width","Height"],function(e,n){var r="Width"===n?["Left","Right"]:["Top","Bottom"],i=n.toLowerCase(),o={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function s(e,t,n,i){return a.each(r,function(){t-=parseFloat(a.css(e,"padding"+this))||0,n&&(t-=parseFloat(a.css(e,"border"+this+"Width"))||0),i&&(t-=parseFloat(a.css(e,"margin"+this))||0)}),t}a.fn["inner"+n]=function(e){return void 0===e?o["inner"+n].call(this):this.each(function(){a(this).css(i,s(this,e)+"px")})},a.fn["outer"+n]=function(e,t){return"number"!=typeof e?o["outer"+n].call(this,e):this.each(function(){a(this).css(i,s(this,e,!0,t)+"px")})}}),a.fn.addBack||(a.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),a("").data("a-b","a").removeData("a-b").data("a-b")&&(a.fn.removeData=(t=a.fn.removeData,function(e){return arguments.length?t.call(this,a.camelCase(e)):t.call(this)})),a.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),a.fn.extend({focus:(i=a.fn.focus,function(t,n){return"number"==typeof t?this.each(function(){var e=this;setTimeout(function(){a(e).focus(),n&&n.call(e)},t)}):i.apply(this,arguments)}),disableSelection:(n="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.bind(n+".ui-disableSelection",function(e){e.preventDefault()})}),enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(e){if(void 0!==e)return this.css("zIndex",e);if(this.length)for(var t,n,i=a(this[0]);i.length&&i[0]!==document;){if(t=i.css("position"),("absolute"===t||"relative"===t||"fixed"===t)&&(n=parseInt(i.css("zIndex"),10),!isNaN(n)&&0!==n))return n;i=i.parent()}return 0}}),a.ui.plugin={add:function(e,t,n){var i,r=a.ui[e].prototype;for(i in n)r.plugins[i]=r.plugins[i]||[],r.plugins[i].push([t,n[i]])},call:function(e,t,n,i){var r,o=e.plugins[t];if(o&&(i||e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType))for(r=0;r",options:{disabled:!1,create:null},_createWidget:function(t,e){e=d(e||this.defaultElement||this)[0],this.element=d(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=d(),this.hoverable=d(),this.focusable=d(),e!==this&&(d.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=d(e.style?e.ownerDocument:e.document||e),this.window=d(this.document[0].defaultView||this.document[0].parentWindow)),this.options=d.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:d.noop,_getCreateEventData:d.noop,_create:d.noop,_init:d.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(d.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:d.noop,widget:function(){return this.element},option:function(t,e){var i,n,s,o=t;if(0===arguments.length)return d.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(n=o[t]=d.widget.extend({},this.options[t]),s=0;s=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})}); !function(e){"function"==typeof define&&define.amd?define(["jquery","./core","./mouse","./widget"],e):e(jQuery)}(function(r){return r.widget("ui.slider",r.ui.mouse,{version:"1.11.4",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,t=this.options,i=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),s=[],a=t.values&&t.values.length||1;for(i.length>a&&(i.slice(a).remove(),i=i.slice(0,a)),e=i.length;e");this.handles=i.add(r(s.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(e){r(this).data("ui-slider-handle-index",e)})},_createRange:function(){var e=this.options,t="";e.range?(!0===e.range&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:r.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=r("
    ").appendTo(this.element),t="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(t+("min"===e.range||"max"===e.range?" ui-slider-range-"+e.range:""))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(e){var i,s,a,n,t,h,l=this,o=this.options;return!o.disabled&&(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),h={x:e.pageX,y:e.pageY},i=this._normValueFromMouse(h),s=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var t=Math.abs(i-l.values(e));(t=this._valueMax())return this._valueMax();var t=0=t&&(e+=0 0 ? floor:ceil)(argument); }; var min=Math.min; var toLength=function (argument){ return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF):0; }; var max=Math.max; var min$1=Math.min; var toAbsoluteIndex=function (index, length){ var integer=toInteger(index); return integer < 0 ? max(integer + length, 0):min$1(integer, length); }; var createMethod=function (IS_INCLUDES){ return function ($this, el, fromIndex){ var O=toIndexedObject($this); var length=toLength(O.length); var index=toAbsoluteIndex(fromIndex, length); var value; if(IS_INCLUDES&&el!=el) while (length > index){ value=O[index++]; if(value!=value) return true; } else for (; length > index; index++){ if((IS_INCLUDES||index in O)&&O[index]===el) return IS_INCLUDES||index||0; } return !IS_INCLUDES&&-1; };}; var arrayIncludes={ includes: createMethod(true), indexOf: createMethod(false) }; var indexOf=arrayIncludes.indexOf; var objectKeysInternal=function (object, names){ var O=toIndexedObject(object); var i=0; var result=[]; var key; for (key in O) !has(hiddenKeys, key)&&has(O, key)&&result.push(key); while (names.length > i) if(has(O, key=names[i++])){ ~indexOf(result, key)||result.push(key); } return result; }; var enumBugKeys=['constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf']; var hiddenKeys$1=enumBugKeys.concat('length', 'prototype'); var f$3=Object.getOwnPropertyNames||function getOwnPropertyNames(O){ return objectKeysInternal(O, hiddenKeys$1); }; var objectGetOwnPropertyNames={ f: f$3 }; var f$4=Object.getOwnPropertySymbols; var objectGetOwnPropertySymbols={ f: f$4 }; var ownKeys=getBuiltIn('Reflect', 'ownKeys')||function ownKeys(it){ var keys=objectGetOwnPropertyNames.f(anObject(it)); var getOwnPropertySymbols=objectGetOwnPropertySymbols.f; return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)):keys; }; var copyConstructorProperties=function (target, source){ var keys=ownKeys(source); var defineProperty=objectDefineProperty.f; var getOwnPropertyDescriptor=objectGetOwnPropertyDescriptor.f; for (var i=0; i < keys.length; i++){ var key=keys[i]; if(!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); }}; var replacement=/#|\.prototype\./; var isForced=function (feature, detection){ var value=data[normalize(feature)]; return value==POLYFILL ? true:value==NATIVE ? false:typeof detection=='function' ? fails(detection):!!detection; }; var normalize=isForced.normalize=function (string){ return String(string).replace(replacement, '.').toLowerCase(); }; var data=isForced.data={}; var NATIVE=isForced.NATIVE='N'; var POLYFILL=isForced.POLYFILL='P'; var isForced_1=isForced; var getOwnPropertyDescriptor$1=objectGetOwnPropertyDescriptor.f; var _export=function (options, source){ var TARGET=options.target; var GLOBAL=options.global; var STATIC=options.stat; var FORCED, target, key, targetProperty, sourceProperty, descriptor; if(GLOBAL){ target=global_1; }else if(STATIC){ target=global_1[TARGET]||setGlobal(TARGET, {}); }else{ target=(global_1[TARGET]||{}).prototype; } if(target) for (key in source){ sourceProperty=source[key]; if(options.noTargetGet){ descriptor=getOwnPropertyDescriptor$1(target, key); targetProperty=descriptor&&descriptor.value; } else targetProperty=target[key]; FORCED=isForced_1(GLOBAL ? key:TARGET + (STATIC ? '.':'#') + key, options.forced); if(!FORCED&&targetProperty!==undefined){ if(typeof sourceProperty===typeof targetProperty) continue; copyConstructorProperties(sourceProperty, targetProperty); } if(options.sham||targetProperty&&targetProperty.sham){ createNonEnumerableProperty(sourceProperty, 'sham', true); } redefine(target, key, sourceProperty, options); }}; var objectKeys=Object.keys||function keys(O){ return objectKeysInternal(O, enumBugKeys); }; var toObject=function (argument){ return Object(requireObjectCoercible(argument)); }; var nativeAssign=Object.assign; var defineProperty=Object.defineProperty; var objectAssign = !nativeAssign||fails(function (){ if(descriptors&&nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', { enumerable: true, get: function (){ defineProperty(this, 'b', { value: 3, enumerable: false }); }}), { b: 2 })).b!==1) return true; var A={}; var B={}; var symbol=Symbol(); var alphabet='abcdefghijklmnopqrst'; A[symbol]=7; alphabet.split('').forEach(function (chr){ B[chr]=chr; }); return nativeAssign({}, A)[symbol]!=7||objectKeys(nativeAssign({}, B)).join('')!=alphabet; }) ? function assign(target, source){ var T=toObject(target); var argumentsLength=arguments.length; var index=1; var getOwnPropertySymbols=objectGetOwnPropertySymbols.f; var propertyIsEnumerable=objectPropertyIsEnumerable.f; while (argumentsLength > index){ var S=indexedObject(arguments[index++]); var keys=getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)):objectKeys(S); var length=keys.length; var j=0; var key; while (length > j){ key=keys[j++]; if(!descriptors||propertyIsEnumerable.call(S, key)) T[key]=S[key]; }} return T; }:nativeAssign; _export({ target: 'Object', stat: true, forced: Object.assign!==objectAssign }, { assign: objectAssign }); var stringRepeat=''.repeat||function repeat(count){ var str=String(requireObjectCoercible(this)); var result=''; var n=toInteger(count); if(n < 0||n==Infinity) throw RangeError('Wrong number of repetitions'); for (; n > 0; (n >>>=1)&&(str +=str)) if(n & 1) result +=str; return result; }; var ceil$1=Math.ceil; var createMethod$1=function (IS_END){ return function ($this, maxLength, fillString){ var S=String(requireObjectCoercible($this)); var stringLength=S.length; var fillStr=fillString===undefined ? ' ':String(fillString); var intMaxLength=toLength(maxLength); var fillLen, stringFiller; if(intMaxLength <=stringLength||fillStr=='') return S; fillLen=intMaxLength - stringLength; stringFiller=stringRepeat.call(fillStr, ceil$1(fillLen / fillStr.length)); if(stringFiller.length > fillLen) stringFiller=stringFiller.slice(0, fillLen); return IS_END ? S + stringFiller:stringFiller + S; };}; var stringPad={ start: createMethod$1(false), end: createMethod$1(true) }; var engineUserAgent=getBuiltIn('navigator', 'userAgent')||''; var stringPadWebkitBug=/Version\/10\.\d+(\.\d+)?(Mobile\/\w+)? Safari\//.test(engineUserAgent); var $padEnd=stringPad.end; _export({ target: 'String', proto: true, forced: stringPadWebkitBug }, { padEnd: function padEnd(maxLength ){ return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1]:undefined); }}); var $padStart=stringPad.start; _export({ target: 'String', proto: true, forced: stringPadWebkitBug }, { padStart: function padStart(maxLength ){ return $padStart(this, maxLength, arguments.length > 1 ? arguments[1]:undefined); }}); _export({ target: 'String', proto: true }, { repeat: stringRepeat }); _export({ global: true }, { globalThis: global_1 }); function _typeof(obj){ "@babel/helpers - typeof"; if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){ _typeof=function (obj){ return typeof obj; };}else{ _typeof=function (obj){ return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype ? "symbol":typeof obj; };} return _typeof(obj); } function _classCallCheck(instance, Constructor){ if(!(instance instanceof Constructor)){ throw new TypeError("Cannot call a class as a function"); }} function _defineProperties(target, props){ for (var i=0; i < props.length; i++){ var descriptor=props[i]; descriptor.enumerable=descriptor.enumerable||false; descriptor.configurable=true; if("value" in descriptor) descriptor.writable=true; Object.defineProperty(target, descriptor.key, descriptor); }} function _createClass(Constructor, protoProps, staticProps){ if(protoProps) _defineProperties(Constructor.prototype, protoProps); if(staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _defineProperty(obj, key, value){ if(key in obj){ Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); }else{ obj[key]=value; } return obj; } function _inherits(subClass, superClass){ if(typeof superClass!=="function"&&superClass!==null){ throw new TypeError("Super expression must either be null or a function"); } subClass.prototype=Object.create(superClass&&superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true }}); if(superClass) _setPrototypeOf(subClass, superClass); } function _getPrototypeOf(o){ _getPrototypeOf=Object.setPrototypeOf ? Object.getPrototypeOf:function _getPrototypeOf(o){ return o.__proto__||Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function _setPrototypeOf(o, p){ _setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o, p){ o.__proto__=p; return o; }; return _setPrototypeOf(o, p); } function _objectWithoutPropertiesLoose(source, excluded){ if(source==null) return {}; var target={}; var sourceKeys=Object.keys(source); var key, i; for (i=0; i < sourceKeys.length; i++){ key=sourceKeys[i]; if(excluded.indexOf(key) >=0) continue; target[key]=source[key]; } return target; } function _objectWithoutProperties(source, excluded){ if(source==null) return {}; var target=_objectWithoutPropertiesLoose(source, excluded); var key, i; if(Object.getOwnPropertySymbols){ var sourceSymbolKeys=Object.getOwnPropertySymbols(source); for (i=0; i < sourceSymbolKeys.length; i++){ key=sourceSymbolKeys[i]; if(excluded.indexOf(key) >=0) continue; if(!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key]=source[key]; }} return target; } function _assertThisInitialized(self){ if(self===void 0){ throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _possibleConstructorReturn(self, call){ if(call&&(typeof call==="object"||typeof call==="function")){ return call; } return _assertThisInitialized(self); } function _superPropBase(object, property){ while (!Object.prototype.hasOwnProperty.call(object, property)){ object=_getPrototypeOf(object); if(object===null) break; } return object; } function _get(target, property, receiver){ if(typeof Reflect!=="undefined"&&Reflect.get){ _get=Reflect.get; }else{ _get=function _get(target, property, receiver){ var base=_superPropBase(target, property); if(!base) return; var desc=Object.getOwnPropertyDescriptor(base, property); if(desc.get){ return desc.get.call(receiver); } return desc.value; };} return _get(target, property, receiver||target); } function set$1(target, property, value, receiver){ if(typeof Reflect!=="undefined"&&Reflect.set){ set$1=Reflect.set; }else{ set$1=function set(target, property, value, receiver){ var base=_superPropBase(target, property); var desc; if(base){ desc=Object.getOwnPropertyDescriptor(base, property); if(desc.set){ desc.set.call(receiver, value); return true; }else if(!desc.writable){ return false; }} desc=Object.getOwnPropertyDescriptor(receiver, property); if(desc){ if(!desc.writable){ return false; } desc.value=value; Object.defineProperty(receiver, property, desc); }else{ _defineProperty(receiver, property, value); } return true; };} return set$1(target, property, value, receiver); } function _set(target, property, value, receiver, isStrict){ var s=set$1(target, property, value, receiver||target); if(!s&&isStrict){ throw new Error('failed to set property'); } return value; } function _slicedToArray(arr, i){ return _arrayWithHoles(arr)||_iterableToArrayLimit(arr, i)||_nonIterableRest(); } function _arrayWithHoles(arr){ if(Array.isArray(arr)) return arr; } function _iterableToArrayLimit(arr, i){ if(!(Symbol.iterator in Object(arr)||Object.prototype.toString.call(arr)==="[object Arguments]")){ return; } var _arr=[]; var _n=true; var _d=false; var _e=undefined; try { for (var _i=arr[Symbol.iterator](), _s; !(_n=(_s=_i.next()).done); _n=true){ _arr.push(_s.value); if(i&&_arr.length===i) break; }} catch (err){ _d=true; _e=err; } finally { try { if(!_n&&_i["return"]!=null) _i["return"](); } finally { if(_d) throw _e; }} return _arr; } function _nonIterableRest(){ throw new TypeError("Invalid attempt to destructure non-iterable instance"); } function isString(str){ return typeof str==='string'||str instanceof String; } var DIRECTION={ NONE: 'NONE', LEFT: 'LEFT', FORCE_LEFT: 'FORCE_LEFT', RIGHT: 'RIGHT', FORCE_RIGHT: 'FORCE_RIGHT' }; function forceDirection(direction){ switch (direction){ case DIRECTION.LEFT: return DIRECTION.FORCE_LEFT; case DIRECTION.RIGHT: return DIRECTION.FORCE_RIGHT; default: return direction; }} function escapeRegExp(str){ return str.replace(/([.*+?^=!:${}()|[\]/\\])/g, '\\$1'); } function objectIncludes(b, a){ if(a===b) return true; var arrA=Array.isArray(a), arrB=Array.isArray(b), i; if(arrA&&arrB){ if(a.length!=b.length) return false; for (i=0; i < a.length; i++){ if(!objectIncludes(a[i], b[i])) return false; } return true; } if(arrA!=arrB) return false; if(a&&b && _typeof(a)==='object'&&_typeof(b)==='object'){ var dateA=a instanceof Date, dateB=b instanceof Date; if(dateA&&dateB) return a.getTime()==b.getTime(); if(dateA!=dateB) return false; var regexpA=a instanceof RegExp, regexpB=b instanceof RegExp; if(regexpA&®expB) return a.toString()==b.toString(); if(regexpA!=regexpB) return false; var keys=Object.keys(a); for (i=0; i < keys.length; i++){ if(!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; } for (i=0; i < keys.length; i++){ if(!objectIncludes(b[keys[i]], a[keys[i]])) return false; } return true; }else if(a&&b && typeof a==='function'&&typeof b==='function'){ return a.toString()===b.toString(); } return false; } var ActionDetails = function (){ function ActionDetails(value, cursorPos, oldValue, oldSelection){ _classCallCheck(this, ActionDetails); this.value=value; this.cursorPos=cursorPos; this.oldValue=oldValue; this.oldSelection=oldSelection; while (this.value.slice(0, this.startChangePos)!==this.oldValue.slice(0, this.startChangePos)){ --this.oldSelection.start; }} _createClass(ActionDetails, [{ key: "startChangePos", get: function get(){ return Math.min(this.cursorPos, this.oldSelection.start); } }, { key: "insertedCount", get: function get(){ return this.cursorPos - this.startChangePos; } }, { key: "inserted", get: function get(){ return this.value.substr(this.startChangePos, this.insertedCount); } }, { key: "removedCount", get: function get(){ return Math.max(this.oldSelection.end - this.startChangePos || this.oldValue.length - this.value.length, 0); } }, { key: "removed", get: function get(){ return this.oldValue.substr(this.startChangePos, this.removedCount); } }, { key: "head", get: function get(){ return this.value.substring(0, this.startChangePos); } }, { key: "tail", get: function get(){ return this.value.substring(this.startChangePos + this.insertedCount); } }, { key: "removeDirection", get: function get(){ if(!this.removedCount||this.insertedCount) return DIRECTION.NONE; return this.oldSelection.end===this.cursorPos||this.oldSelection.start===this.cursorPos ? DIRECTION.RIGHT:DIRECTION.LEFT; }}]); return ActionDetails; }(); var ChangeDetails = function (){ function ChangeDetails(details){ _classCallCheck(this, ChangeDetails); Object.assign(this, { inserted: '', rawInserted: '', skip: false, tailShift: 0 }, details); } _createClass(ChangeDetails, [{ key: "aggregate", value: function aggregate(details){ this.rawInserted +=details.rawInserted; this.skip=this.skip||details.skip; this.inserted +=details.inserted; this.tailShift +=details.tailShift; return this; } }, { key: "offset", get: function get(){ return this.tailShift + this.inserted.length; }}]); return ChangeDetails; }(); var ContinuousTailDetails = function (){ function ContinuousTailDetails(){ var value=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:''; var from=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:0; var stop=arguments.length > 2 ? arguments[2]:undefined; _classCallCheck(this, ContinuousTailDetails); this.value=value; this.from=from; this.stop=stop; } _createClass(ContinuousTailDetails, [{ key: "toString", value: function toString(){ return this.value; }}, { key: "extend", value: function extend(tail){ this.value +=String(tail); }}, { key: "appendTo", value: function appendTo(masked){ return masked.append(this.toString(), { tail: true }).aggregate(masked._appendPlaceholder()); }}, { key: "shiftBefore", value: function shiftBefore(pos){ if(this.from >=pos||!this.value.length) return ''; var shiftChar=this.value[0]; this.value=this.value.slice(1); return shiftChar; }}, { key: "state", get: function get(){ return { value: this.value, from: this.from, stop: this.stop };}, set: function set(state){ Object.assign(this, state); }}]); return ContinuousTailDetails; }(); function IMask(el){ var opts=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:{}; return new IMask.InputMask(el, opts); } var Masked = function (){ function Masked(opts){ _classCallCheck(this, Masked); this._value=''; this._update(Object.assign({}, Masked.DEFAULTS, {}, opts)); this.isInitialized=true; } _createClass(Masked, [{ key: "updateOptions", value: function updateOptions(opts){ if(!Object.keys(opts).length) return; this.withValueRefresh(this._update.bind(this, opts)); } }, { key: "_update", value: function _update(opts){ Object.assign(this, opts); } }, { key: "reset", value: function reset(){ this._value=''; } }, { key: "resolve", value: function resolve(value){ this.reset(); this.append(value, { input: true }, ''); this.doCommit(); return this.value; } }, { key: "nearestInputPos", value: function nearestInputPos(cursorPos, direction){ return cursorPos; } }, { key: "extractInput", value: function extractInput(){ var fromPos=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:0; var toPos=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:this.value.length; return this.value.slice(fromPos, toPos); } }, { key: "extractTail", value: function extractTail(){ var fromPos=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:0; var toPos=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:this.value.length; return new ContinuousTailDetails(this.extractInput(fromPos, toPos), fromPos); } }, { key: "appendTail", value: function appendTail(tail){ if(isString(tail)) tail=new ContinuousTailDetails(String(tail)); return tail.appendTo(this); } }, { key: "_appendCharRaw", value: function _appendCharRaw(ch){ var flags=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:{}; ch=this.doPrepare(ch, flags); if(!ch) return new ChangeDetails(); this._value +=ch; return new ChangeDetails({ inserted: ch, rawInserted: ch }); } }, { key: "_appendChar", value: function _appendChar(ch){ var flags=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:{}; var checkTail=arguments.length > 2 ? arguments[2]:undefined; var consistentState=this.state; var details=this._appendCharRaw(ch, flags); if(details.inserted){ var consistentTail; var appended=this.doValidate(flags)!==false; if(appended&&checkTail!=null){ var beforeTailState=this.state; if(this.overwrite){ consistentTail=checkTail.state; checkTail.shiftBefore(this.value.length); } var tailDetails=this.appendTail(checkTail); appended=tailDetails.rawInserted===checkTail.toString(); if(appended&&tailDetails.inserted) this.state=beforeTailState; } if(!appended){ details=new ChangeDetails(); this.state=consistentState; if(checkTail&&consistentTail) checkTail.state=consistentTail; }} return details; } }, { key: "_appendPlaceholder", value: function _appendPlaceholder(){ return new ChangeDetails(); } }, { key: "append", value: function append(str, flags, tail){ if(!isString(str)) throw new Error('value should be string'); var details=new ChangeDetails(); var checkTail=isString(tail) ? new ContinuousTailDetails(String(tail)):tail; if(flags.tail) flags._beforeTailState=this.state; for (var ci=0; ci < str.length; ++ci){ details.aggregate(this._appendChar(str[ci], flags, checkTail)); } if(checkTail!=null){ details.tailShift +=this.appendTail(checkTail).tailShift; } return details; } }, { key: "remove", value: function remove(){ var fromPos=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:0; var toPos=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:this.value.length; this._value=this.value.slice(0, fromPos) + this.value.slice(toPos); return new ChangeDetails(); } }, { key: "withValueRefresh", value: function withValueRefresh(fn){ if(this._refreshing||!this.isInitialized) return fn(); this._refreshing=true; var rawInput=this.rawInputValue; var value=this.value; var ret=fn(); this.rawInputValue=rawInput; if(this.value!==value&&value.indexOf(this.value)===0){ this.append(value.slice(this.value.length), {}, ''); } delete this._refreshing; return ret; } }, { key: "runIsolated", value: function runIsolated(fn){ if(this._isolated||!this.isInitialized) return fn(this); this._isolated=true; var state=this.state; var ret=fn(this); this.state=state; delete this._isolated; return ret; } }, { key: "doPrepare", value: function doPrepare(str){ var flags=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:{}; return this.prepare ? this.prepare(str, this, flags):str; } }, { key: "doValidate", value: function doValidate(flags){ return (!this.validate||this.validate(this.value, this, flags))&&(!this.parent||this.parent.doValidate(flags)); } }, { key: "doCommit", value: function doCommit(){ if(this.commit) this.commit(this.value, this); } }, { key: "doFormat", value: function doFormat(value){ return this.format ? this.format(value, this):value; } }, { key: "doParse", value: function doParse(str){ return this.parse ? this.parse(str, this):str; } }, { key: "splice", value: function splice(start, deleteCount, inserted, removeDirection){ var tailPos=start + deleteCount; var tail=this.extractTail(tailPos); var startChangePos=this.nearestInputPos(start, removeDirection); var changeDetails=new ChangeDetails({ tailShift: startChangePos - start }).aggregate(this.remove(startChangePos)).aggregate(this.append(inserted, { input: true }, tail)); return changeDetails; }}, { key: "state", get: function get(){ return { _value: this.value };}, set: function set(state){ this._value=state._value; }}, { key: "value", get: function get(){ return this._value; }, set: function set(value){ this.resolve(value); }}, { key: "unmaskedValue", get: function get(){ return this.value; }, set: function set(value){ this.reset(); this.append(value, {}, ''); this.doCommit(); } }, { key: "typedValue", get: function get(){ return this.doParse(this.value); }, set: function set(value){ this.value=this.doFormat(value); } }, { key: "rawInputValue", get: function get(){ return this.extractInput(0, this.value.length, { raw: true }); }, set: function set(value){ this.reset(); this.append(value, { raw: true }, ''); this.doCommit(); } }, { key: "isComplete", get: function get(){ return true; }}]); return Masked; }(); Masked.DEFAULTS={ format: function format(v){ return v; }, parse: function parse(v){ return v; }}; IMask.Masked=Masked; function maskedClass(mask){ if(mask==null){ throw new Error('mask property should be defined'); } if(mask instanceof RegExp) return IMask.MaskedRegExp; if(isString(mask)) return IMask.MaskedPattern; if(mask instanceof Date||mask===Date) return IMask.MaskedDate; if(mask instanceof Number||typeof mask==='number'||mask===Number) return IMask.MaskedNumber; if(Array.isArray(mask)||mask===Array) return IMask.MaskedDynamic; if(IMask.Masked&&mask.prototype instanceof IMask.Masked) return mask; if(mask instanceof Function) return IMask.MaskedFunction; if(mask instanceof IMask.Masked) return mask.constructor; console.warn('Mask not found for mask', mask); return IMask.Masked; } function createMask(opts){ if(IMask.Masked&&opts instanceof IMask.Masked) return opts; opts=Object.assign({}, opts); var mask=opts.mask; if(IMask.Masked&&mask instanceof IMask.Masked) return mask; var MaskedClass=maskedClass(mask); if(!MaskedClass) throw new Error('Masked class is not found for provided mask, appropriate module needs to be import manually before creating mask.'); return new MaskedClass(opts); } IMask.createMask=createMask; var DEFAULT_INPUT_DEFINITIONS={ '0': /\d/, 'a': /[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/, '*': /./ }; var PatternInputDefinition = function (){ function PatternInputDefinition(opts){ _classCallCheck(this, PatternInputDefinition); var mask=opts.mask, blockOpts=_objectWithoutProperties(opts, ["mask"]); this.masked=createMask({ mask: mask }); Object.assign(this, blockOpts); } _createClass(PatternInputDefinition, [{ key: "reset", value: function reset(){ this._isFilled=false; this.masked.reset(); }}, { key: "remove", value: function remove(){ var fromPos=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:0; var toPos=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:this.value.length; if(fromPos===0&&toPos >=1){ this._isFilled=false; return this.masked.remove(fromPos, toPos); } return new ChangeDetails(); }}, { key: "_appendChar", value: function _appendChar(str){ var flags=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:{}; if(this._isFilled) return new ChangeDetails(); var state=this.masked.state; var details=this.masked._appendChar(str, flags); if(details.inserted&&this.doValidate(flags)===false){ details.inserted=details.rawInserted=''; this.masked.state=state; } if(!details.inserted&&!this.isOptional&&!this.lazy&&!flags.input){ details.inserted=this.placeholderChar; } details.skip = !details.inserted&&!this.isOptional; this._isFilled=Boolean(details.inserted); return details; }}, { key: "append", value: function append(){ var _this$masked; return (_this$masked=this.masked).append.apply(_this$masked, arguments); }}, { key: "_appendPlaceholder", value: function _appendPlaceholder(){ var details=new ChangeDetails(); if(this._isFilled||this.isOptional) return details; this._isFilled=true; details.inserted=this.placeholderChar; return details; }}, { key: "extractTail", value: function extractTail(){ var _this$masked2; return (_this$masked2=this.masked).extractTail.apply(_this$masked2, arguments); }}, { key: "appendTail", value: function appendTail(){ var _this$masked3; return (_this$masked3=this.masked).appendTail.apply(_this$masked3, arguments); }}, { key: "extractInput", value: function extractInput(){ var fromPos=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:0; var toPos=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:this.value.length; var flags=arguments.length > 2 ? arguments[2]:undefined; return this.masked.extractInput(fromPos, toPos, flags); }}, { key: "nearestInputPos", value: function nearestInputPos(cursorPos){ var direction=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:DIRECTION.NONE; var minPos=0; var maxPos=this.value.length; var boundPos=Math.min(Math.max(cursorPos, minPos), maxPos); switch (direction){ case DIRECTION.LEFT: case DIRECTION.FORCE_LEFT: return this.isComplete ? boundPos:minPos; case DIRECTION.RIGHT: case DIRECTION.FORCE_RIGHT: return this.isComplete ? boundPos:maxPos; case DIRECTION.NONE: default: return boundPos; }} }, { key: "doValidate", value: function doValidate(){ var _this$masked4, _this$parent; return (_this$masked4=this.masked).doValidate.apply(_this$masked4, arguments)&&(!this.parent||(_this$parent=this.parent).doValidate.apply(_this$parent, arguments)); }}, { key: "doCommit", value: function doCommit(){ this.masked.doCommit(); }}, { key: "value", get: function get(){ return this.masked.value||(this._isFilled&&!this.isOptional ? this.placeholderChar:''); }}, { key: "unmaskedValue", get: function get(){ return this.masked.unmaskedValue; }}, { key: "isComplete", get: function get(){ return Boolean(this.masked.value)||this.isOptional; }}, { key: "state", get: function get(){ return { masked: this.masked.state, _isFilled: this._isFilled };}, set: function set(state){ this.masked.state=state.masked; this._isFilled=state._isFilled; }}]); return PatternInputDefinition; }(); var PatternFixedDefinition = function (){ function PatternFixedDefinition(opts){ _classCallCheck(this, PatternFixedDefinition); Object.assign(this, opts); this._value=''; } _createClass(PatternFixedDefinition, [{ key: "reset", value: function reset(){ this._isRawInput=false; this._value=''; }}, { key: "remove", value: function remove(){ var fromPos=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:0; var toPos=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:this._value.length; this._value=this._value.slice(0, fromPos) + this._value.slice(toPos); if(!this._value) this._isRawInput=false; return new ChangeDetails(); }}, { key: "nearestInputPos", value: function nearestInputPos(cursorPos){ var direction=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:DIRECTION.NONE; var minPos=0; var maxPos=this._value.length; switch (direction){ case DIRECTION.LEFT: case DIRECTION.FORCE_LEFT: return minPos; case DIRECTION.NONE: case DIRECTION.RIGHT: case DIRECTION.FORCE_RIGHT: default: return maxPos; }} }, { key: "extractInput", value: function extractInput(){ var fromPos=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:0; var toPos=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:this._value.length; var flags=arguments.length > 2&&arguments[2]!==undefined ? arguments[2]:{}; return flags.raw&&this._isRawInput&&this._value.slice(fromPos, toPos)||''; }}, { key: "_appendChar", value: function _appendChar(str){ var flags=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:{}; var details=new ChangeDetails(); if(this._value) return details; var appended=this.char===str[0]; var isResolved=appended&&(this.isUnmasking||flags.input||flags.raw)&&!flags.tail; if(isResolved) details.rawInserted=this.char; this._value=details.inserted=this.char; this._isRawInput=isResolved&&(flags.raw||flags.input); return details; }}, { key: "_appendPlaceholder", value: function _appendPlaceholder(){ var details=new ChangeDetails(); if(this._value) return details; this._value=details.inserted=this.char; return details; }}, { key: "extractTail", value: function extractTail(){ var toPos=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:this.value.length; return new ContinuousTailDetails(''); }}, { key: "appendTail", value: function appendTail(tail){ if(isString(tail)) tail=new ContinuousTailDetails(String(tail)); return tail.appendTo(this); }}, { key: "append", value: function append(str, flags, tail){ var details=this._appendChar(str, flags); if(tail!=null){ details.tailShift +=this.appendTail(tail).tailShift; } return details; }}, { key: "doCommit", value: function doCommit(){}}, { key: "value", get: function get(){ return this._value; }}, { key: "unmaskedValue", get: function get(){ return this.isUnmasking ? this.value:''; }}, { key: "isComplete", get: function get(){ return true; }}, { key: "state", get: function get(){ return { _value: this._value, _isRawInput: this._isRawInput };}, set: function set(state){ Object.assign(this, state); }}]); return PatternFixedDefinition; }(); var ChunksTailDetails = function (){ function ChunksTailDetails(){ var chunks=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:[]; var from=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:0; _classCallCheck(this, ChunksTailDetails); this.chunks=chunks; this.from=from; } _createClass(ChunksTailDetails, [{ key: "toString", value: function toString(){ return this.chunks.map(String).join(''); }}, { key: "extend", value: function extend(tailChunk){ if(!String(tailChunk)) return; if(isString(tailChunk)) tailChunk=new ContinuousTailDetails(String(tailChunk)); var lastChunk=this.chunks[this.chunks.length - 1]; var extendLast=lastChunk&&( lastChunk.stop===tailChunk.stop||tailChunk.stop==null) && tailChunk.from===lastChunk.from + lastChunk.toString().length; if(tailChunk instanceof ContinuousTailDetails){ if(extendLast){ lastChunk.extend(tailChunk.toString()); }else{ this.chunks.push(tailChunk); }}else if(tailChunk instanceof ChunksTailDetails){ if(tailChunk.stop==null){ var firstTailChunk; while (tailChunk.chunks.length&&tailChunk.chunks[0].stop==null){ firstTailChunk=tailChunk.chunks.shift(); firstTailChunk.from +=tailChunk.from; this.extend(firstTailChunk); }} if(tailChunk.toString()){ tailChunk.stop=tailChunk.blockIndex; this.chunks.push(tailChunk); }} }}, { key: "appendTo", value: function appendTo(masked){ if(!(masked instanceof IMask.MaskedPattern)){ var tail=new ContinuousTailDetails(this.toString()); return tail.appendTo(masked); } var details=new ChangeDetails(); for (var ci=0; ci < this.chunks.length&&!details.skip; ++ci){ var chunk=this.chunks[ci]; var lastBlockIter=masked._mapPosToBlock(masked.value.length); var stop=chunk.stop; var chunkBlock=void 0; if(stop!=null&&( !lastBlockIter||lastBlockIter.index <=stop)){ if(chunk instanceof ChunksTailDetails || masked._stops.indexOf(stop) >=0){ details.aggregate(masked._appendPlaceholder(stop)); } chunkBlock=chunk instanceof ChunksTailDetails&&masked._blocks[stop]; } if(chunkBlock){ var tailDetails=chunkBlock.appendTail(chunk); tailDetails.skip=false; details.aggregate(tailDetails); masked._value +=tailDetails.inserted; var remainChars=chunk.toString().slice(tailDetails.rawInserted.length); if(remainChars) details.aggregate(masked.append(remainChars, { tail: true })); }else{ details.aggregate(masked.append(chunk.toString(), { tail: true })); }} return details; }}, { key: "shiftBefore", value: function shiftBefore(pos){ if(this.from >=pos||!this.chunks.length) return ''; var chunkShiftPos=pos - this.from; var ci=0; while (ci < this.chunks.length){ var chunk=this.chunks[ci]; var shiftChar=chunk.shiftBefore(chunkShiftPos); if(chunk.toString()){ if(!shiftChar) break; ++ci; }else{ this.chunks.splice(ci, 1); } if(shiftChar) return shiftChar; } return ''; }}, { key: "state", get: function get(){ return { chunks: this.chunks.map(function (c){ return c.state; }), from: this.from, stop: this.stop, blockIndex: this.blockIndex };}, set: function set(state){ var chunks=state.chunks, props=_objectWithoutProperties(state, ["chunks"]); Object.assign(this, props); this.chunks=chunks.map(function (cstate){ var chunk="chunks" in cstate ? new ChunksTailDetails():new ContinuousTailDetails(); chunk.state=cstate; return chunk; }); }}]); return ChunksTailDetails; }(); var MaskedRegExp = function (_Masked){ _inherits(MaskedRegExp, _Masked); function MaskedRegExp(){ _classCallCheck(this, MaskedRegExp); return _possibleConstructorReturn(this, _getPrototypeOf(MaskedRegExp).apply(this, arguments)); } _createClass(MaskedRegExp, [{ key: "_update", value: function _update(opts){ if(opts.mask) opts.validate=function (value){ return value.search(opts.mask) >=0; }; _get(_getPrototypeOf(MaskedRegExp.prototype), "_update", this).call(this, opts); }}]); return MaskedRegExp; }(Masked); IMask.MaskedRegExp=MaskedRegExp; var MaskedPattern = function (_Masked){ _inherits(MaskedPattern, _Masked); function MaskedPattern(){ var opts=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:{}; _classCallCheck(this, MaskedPattern); opts.definitions=Object.assign({}, DEFAULT_INPUT_DEFINITIONS, opts.definitions); return _possibleConstructorReturn(this, _getPrototypeOf(MaskedPattern).call(this, Object.assign({}, MaskedPattern.DEFAULTS, {}, opts))); } _createClass(MaskedPattern, [{ key: "_update", value: function _update(){ var opts=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:{}; opts.definitions=Object.assign({}, this.definitions, opts.definitions); _get(_getPrototypeOf(MaskedPattern.prototype), "_update", this).call(this, opts); this._rebuildMask(); } }, { key: "_rebuildMask", value: function _rebuildMask(){ var _this=this; var defs=this.definitions; this._blocks=[]; this._stops=[]; this._maskedBlocks={}; var pattern=this.mask; if(!pattern||!defs) return; var unmaskingBlock=false; var optionalBlock=false; for (var i=0; i < pattern.length; ++i){ if(this.blocks){ var _ret=function (){ var p=pattern.slice(i); var bNames=Object.keys(_this.blocks).filter(function (bName){ return p.indexOf(bName)===0; }); bNames.sort(function (a, b){ return b.length - a.length; }); var bName=bNames[0]; if(bName){ var maskedBlock=createMask(Object.assign({ parent: _this, lazy: _this.lazy, placeholderChar: _this.placeholderChar, overwrite: _this.overwrite }, _this.blocks[bName])); if(maskedBlock){ _this._blocks.push(maskedBlock); if(!_this._maskedBlocks[bName]) _this._maskedBlocks[bName]=[]; _this._maskedBlocks[bName].push(_this._blocks.length - 1); } i +=bName.length - 1; return "continue"; }}(); if(_ret==="continue") continue; } var char=pattern[i]; var _isInput=char in defs; if(char===MaskedPattern.STOP_CHAR){ this._stops.push(this._blocks.length); continue; } if(char==='{'||char==='}'){ unmaskingBlock = !unmaskingBlock; continue; } if(char==='['||char===']'){ optionalBlock = !optionalBlock; continue; } if(char===MaskedPattern.ESCAPE_CHAR){ ++i; char=pattern[i]; if(!char) break; _isInput=false; } var def=_isInput ? new PatternInputDefinition({ parent: this, lazy: this.lazy, placeholderChar: this.placeholderChar, mask: defs[char], isOptional: optionalBlock }):new PatternFixedDefinition({ char: char, isUnmasking: unmaskingBlock }); this._blocks.push(def); }} }, { key: "reset", value: function reset(){ _get(_getPrototypeOf(MaskedPattern.prototype), "reset", this).call(this); this._blocks.forEach(function (b){ return b.reset(); }); } }, { key: "doCommit", value: function doCommit(){ this._blocks.forEach(function (b){ return b.doCommit(); }); _get(_getPrototypeOf(MaskedPattern.prototype), "doCommit", this).call(this); } }, { key: "appendTail", value: function appendTail(tail){ return _get(_getPrototypeOf(MaskedPattern.prototype), "appendTail", this).call(this, tail).aggregate(this._appendPlaceholder()); } }, { key: "_appendCharRaw", value: function _appendCharRaw(ch){ var flags=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:{}; ch=this.doPrepare(ch, flags); var blockIter=this._mapPosToBlock(this.value.length); var details=new ChangeDetails(); if(!blockIter) return details; for (var bi=blockIter.index;; ++bi){ var _block=this._blocks[bi]; if(!_block) break; var blockDetails=_block._appendChar(ch, flags); var skip=blockDetails.skip; details.aggregate(blockDetails); if(skip||blockDetails.rawInserted) break; } return details; } }, { key: "extractTail", value: function extractTail(){ var _this2=this; var fromPos=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:0; var toPos=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:this.value.length; var chunkTail=new ChunksTailDetails(); if(fromPos===toPos) return chunkTail; this._forEachBlocksInRange(fromPos, toPos, function (b, bi, bFromPos, bToPos){ var blockChunk=b.extractTail(bFromPos, bToPos); blockChunk.stop=_this2._findStopBefore(bi); blockChunk.from=_this2._blockStartPos(bi); if(blockChunk instanceof ChunksTailDetails) blockChunk.blockIndex=bi; chunkTail.extend(blockChunk); }); return chunkTail; } }, { key: "extractInput", value: function extractInput(){ var fromPos=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:0; var toPos=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:this.value.length; var flags=arguments.length > 2&&arguments[2]!==undefined ? arguments[2]:{}; if(fromPos===toPos) return ''; var input=''; this._forEachBlocksInRange(fromPos, toPos, function (b, _, fromPos, toPos){ input +=b.extractInput(fromPos, toPos, flags); }); return input; }}, { key: "_findStopBefore", value: function _findStopBefore(blockIndex){ var stopBefore; for (var si=0; si < this._stops.length; ++si){ var stop=this._stops[si]; if(stop <=blockIndex) stopBefore=stop;else break; } return stopBefore; } }, { key: "_appendPlaceholder", value: function _appendPlaceholder(toBlockIndex){ var _this3=this; var details=new ChangeDetails(); if(this.lazy&&toBlockIndex==null) return details; var startBlockIter=this._mapPosToBlock(this.value.length); if(!startBlockIter) return details; var startBlockIndex=startBlockIter.index; var endBlockIndex=toBlockIndex!=null ? toBlockIndex:this._blocks.length; this._blocks.slice(startBlockIndex, endBlockIndex).forEach(function (b){ if(!b.lazy||toBlockIndex!=null){ var args=b._blocks!=null ? [b._blocks.length]:[]; var bDetails=b._appendPlaceholder.apply(b, args); _this3._value +=bDetails.inserted; details.aggregate(bDetails); }}); return details; } }, { key: "_mapPosToBlock", value: function _mapPosToBlock(pos){ var accVal=''; for (var bi=0; bi < this._blocks.length; ++bi){ var _block2=this._blocks[bi]; var blockStartPos=accVal.length; accVal +=_block2.value; if(pos <=accVal.length){ return { index: bi, offset: pos - blockStartPos };}} } }, { key: "_blockStartPos", value: function _blockStartPos(blockIndex){ return this._blocks.slice(0, blockIndex).reduce(function (pos, b){ return pos +=b.value.length; }, 0); } }, { key: "_forEachBlocksInRange", value: function _forEachBlocksInRange(fromPos){ var toPos=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:this.value.length; var fn=arguments.length > 2 ? arguments[2]:undefined; var fromBlockIter=this._mapPosToBlock(fromPos); if(fromBlockIter){ var toBlockIter=this._mapPosToBlock(toPos); var isSameBlock=toBlockIter&&fromBlockIter.index===toBlockIter.index; var fromBlockStartPos=fromBlockIter.offset; var fromBlockEndPos=toBlockIter&&isSameBlock ? toBlockIter.offset:this._blocks[fromBlockIter.index].value.length; fn(this._blocks[fromBlockIter.index], fromBlockIter.index, fromBlockStartPos, fromBlockEndPos); if(toBlockIter&&!isSameBlock){ for (var bi=fromBlockIter.index + 1; bi < toBlockIter.index; ++bi){ fn(this._blocks[bi], bi, 0, this._blocks[bi].value.length); } fn(this._blocks[toBlockIter.index], toBlockIter.index, 0, toBlockIter.offset); }} } }, { key: "remove", value: function remove(){ var fromPos=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:0; var toPos=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:this.value.length; var removeDetails=_get(_getPrototypeOf(MaskedPattern.prototype), "remove", this).call(this, fromPos, toPos); this._forEachBlocksInRange(fromPos, toPos, function (b, _, bFromPos, bToPos){ removeDetails.aggregate(b.remove(bFromPos, bToPos)); }); return removeDetails; } }, { key: "nearestInputPos", value: function nearestInputPos(cursorPos){ var direction=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:DIRECTION.NONE; var beginBlockData=this._mapPosToBlock(cursorPos)||{ index: 0, offset: 0 }; var beginBlockOffset=beginBlockData.offset, beginBlockIndex=beginBlockData.index; var beginBlock=this._blocks[beginBlockIndex]; if(!beginBlock) return cursorPos; var beginBlockCursorPos=beginBlockOffset; if(beginBlockCursorPos!==0&&beginBlockCursorPos < beginBlock.value.length){ beginBlockCursorPos=beginBlock.nearestInputPos(beginBlockOffset, forceDirection(direction)); } var cursorAtRight=beginBlockCursorPos===beginBlock.value.length; var cursorAtLeft=beginBlockCursorPos===0; if(!cursorAtLeft&&!cursorAtRight) return this._blockStartPos(beginBlockIndex) + beginBlockCursorPos; var searchBlockIndex=cursorAtRight ? beginBlockIndex + 1:beginBlockIndex; if(direction===DIRECTION.NONE){ if(searchBlockIndex > 0){ var blockIndexAtLeft=searchBlockIndex - 1; var blockAtLeft=this._blocks[blockIndexAtLeft]; var blockInputPos=blockAtLeft.nearestInputPos(0, DIRECTION.NONE); if(!blockAtLeft.value.length||blockInputPos!==blockAtLeft.value.length){ return this._blockStartPos(searchBlockIndex); }} var firstInputAtRight=searchBlockIndex; for (var bi=firstInputAtRight; bi < this._blocks.length; ++bi){ var blockAtRight=this._blocks[bi]; var _blockInputPos=blockAtRight.nearestInputPos(0, DIRECTION.NONE); if(!blockAtRight.value.length||_blockInputPos!==blockAtRight.value.length){ return this._blockStartPos(bi) + _blockInputPos; }} for (var _bi=searchBlockIndex - 1; _bi >=0; --_bi){ var _block3=this._blocks[_bi]; var _blockInputPos2=_block3.nearestInputPos(0, DIRECTION.NONE); if(!_block3.value.length||_blockInputPos2!==_block3.value.length){ return this._blockStartPos(_bi) + _block3.value.length; }} return cursorPos; } if(direction===DIRECTION.LEFT||direction===DIRECTION.FORCE_LEFT){ var firstFilledBlockIndexAtRight; for (var _bi2=searchBlockIndex; _bi2 < this._blocks.length; ++_bi2){ if(this._blocks[_bi2].value){ firstFilledBlockIndexAtRight=_bi2; break; }} if(firstFilledBlockIndexAtRight!=null){ var filledBlock=this._blocks[firstFilledBlockIndexAtRight]; var _blockInputPos3=filledBlock.nearestInputPos(0, DIRECTION.RIGHT); if(_blockInputPos3===0&&filledBlock.unmaskedValue.length){ return this._blockStartPos(firstFilledBlockIndexAtRight) + _blockInputPos3; }} var firstFilledInputBlockIndex=-1; var firstEmptyInputBlockIndex; for (var _bi3=searchBlockIndex - 1; _bi3 >=0; --_bi3){ var _block4=this._blocks[_bi3]; var _blockInputPos4=_block4.nearestInputPos(_block4.value.length, DIRECTION.FORCE_LEFT); if(!_block4.value||_blockInputPos4!==0) firstEmptyInputBlockIndex=_bi3; if(_blockInputPos4!==0){ if(_blockInputPos4!==_block4.value.length){ return this._blockStartPos(_bi3) + _blockInputPos4; }else{ firstFilledInputBlockIndex=_bi3; break; }} } if(direction===DIRECTION.LEFT){ for (var _bi4=firstFilledInputBlockIndex + 1; _bi4 <=Math.min(searchBlockIndex, this._blocks.length - 1); ++_bi4){ var _block5=this._blocks[_bi4]; var _blockInputPos5=_block5.nearestInputPos(0, DIRECTION.NONE); var blockAlignedPos=this._blockStartPos(_bi4) + _blockInputPos5; if(blockAlignedPos > cursorPos) break; if(_blockInputPos5!==_block5.value.length) return blockAlignedPos; }} if(firstFilledInputBlockIndex >=0){ return this._blockStartPos(firstFilledInputBlockIndex) + this._blocks[firstFilledInputBlockIndex].value.length; } if(direction===DIRECTION.FORCE_LEFT||this.lazy&&!this.extractInput()&&!isInput(this._blocks[searchBlockIndex])){ return 0; } if(firstEmptyInputBlockIndex!=null){ return this._blockStartPos(firstEmptyInputBlockIndex); } for (var _bi5=searchBlockIndex; _bi5 < this._blocks.length; ++_bi5){ var _block6=this._blocks[_bi5]; var _blockInputPos6=_block6.nearestInputPos(0, DIRECTION.NONE); if(!_block6.value.length||_blockInputPos6!==_block6.value.length){ return this._blockStartPos(_bi5) + _blockInputPos6; }} return 0; } if(direction===DIRECTION.RIGHT||direction===DIRECTION.FORCE_RIGHT){ var firstInputBlockAlignedIndex; var firstInputBlockAlignedPos; for (var _bi6=searchBlockIndex; _bi6 < this._blocks.length; ++_bi6){ var _block7=this._blocks[_bi6]; var _blockInputPos7=_block7.nearestInputPos(0, DIRECTION.NONE); if(_blockInputPos7!==_block7.value.length){ firstInputBlockAlignedPos=this._blockStartPos(_bi6) + _blockInputPos7; firstInputBlockAlignedIndex=_bi6; break; }} if(firstInputBlockAlignedIndex!=null&&firstInputBlockAlignedPos!=null){ for (var _bi7=firstInputBlockAlignedIndex; _bi7 < this._blocks.length; ++_bi7){ var _block8=this._blocks[_bi7]; var _blockInputPos8=_block8.nearestInputPos(0, DIRECTION.FORCE_RIGHT); if(_blockInputPos8!==_block8.value.length){ return this._blockStartPos(_bi7) + _blockInputPos8; }} return direction===DIRECTION.FORCE_RIGHT ? this.value.length:firstInputBlockAlignedPos; } for (var _bi8=Math.min(searchBlockIndex, this._blocks.length - 1); _bi8 >=0; --_bi8){ var _block9=this._blocks[_bi8]; var _blockInputPos9=_block9.nearestInputPos(_block9.value.length, DIRECTION.LEFT); if(_blockInputPos9!==0){ var alignedPos=this._blockStartPos(_bi8) + _blockInputPos9; if(alignedPos >=cursorPos) return alignedPos; break; }} } return cursorPos; } }, { key: "maskedBlock", value: function maskedBlock(name){ return this.maskedBlocks(name)[0]; } }, { key: "maskedBlocks", value: function maskedBlocks(name){ var _this4=this; var indices=this._maskedBlocks[name]; if(!indices) return []; return indices.map(function (gi){ return _this4._blocks[gi]; }); }}, { key: "state", get: function get(){ return Object.assign({}, _get(_getPrototypeOf(MaskedPattern.prototype), "state", this), { _blocks: this._blocks.map(function (b){ return b.state; }) }); }, set: function set(state){ var _blocks=state._blocks, maskedState=_objectWithoutProperties(state, ["_blocks"]); this._blocks.forEach(function (b, bi){ return b.state=_blocks[bi]; }); _set(_getPrototypeOf(MaskedPattern.prototype), "state", maskedState, this, true); }}, { key: "isComplete", get: function get(){ return this._blocks.every(function (b){ return b.isComplete; }); }}, { key: "unmaskedValue", get: function get(){ return this._blocks.reduce(function (str, b){ return str +=b.unmaskedValue; }, ''); }, set: function set(unmaskedValue){ _set(_getPrototypeOf(MaskedPattern.prototype), "unmaskedValue", unmaskedValue, this, true); } }, { key: "value", get: function get(){ return this._blocks.reduce(function (str, b){ return str +=b.value; }, ''); }, set: function set(value){ _set(_getPrototypeOf(MaskedPattern.prototype), "value", value, this, true); }}]); return MaskedPattern; }(Masked); MaskedPattern.DEFAULTS={ lazy: true, placeholderChar: '_' }; MaskedPattern.STOP_CHAR='`'; MaskedPattern.ESCAPE_CHAR='\\'; MaskedPattern.InputDefinition=PatternInputDefinition; MaskedPattern.FixedDefinition=PatternFixedDefinition; function isInput(block){ if(!block) return false; var value=block.value; return !value||block.nearestInputPos(0, DIRECTION.NONE)!==value.length; } IMask.MaskedPattern=MaskedPattern; var MaskedRange = function (_MaskedPattern){ _inherits(MaskedRange, _MaskedPattern); function MaskedRange(){ _classCallCheck(this, MaskedRange); return _possibleConstructorReturn(this, _getPrototypeOf(MaskedRange).apply(this, arguments)); } _createClass(MaskedRange, [{ key: "_update", value: function _update(opts){ opts=Object.assign({ to: this.to||0, from: this.from||0 }, opts); var maxLength=String(opts.to).length; if(opts.maxLength!=null) maxLength=Math.max(maxLength, opts.maxLength); opts.maxLength=maxLength; var fromStr=String(opts.from).padStart(maxLength, '0'); var toStr=String(opts.to).padStart(maxLength, '0'); var sameCharsCount=0; while (sameCharsCount < toStr.length&&toStr[sameCharsCount]===fromStr[sameCharsCount]){ ++sameCharsCount; } opts.mask=toStr.slice(0, sameCharsCount).replace(/0/g, '\\0') + '0'.repeat(maxLength - sameCharsCount); _get(_getPrototypeOf(MaskedRange.prototype), "_update", this).call(this, opts); } }, { key: "boundaries", value: function boundaries(str){ var minstr=''; var maxstr=''; var _ref=str.match(/^(\D*)(\d*)(\D*)/)||[], _ref2=_slicedToArray(_ref, 3), placeholder=_ref2[1], num=_ref2[2]; if(num){ minstr='0'.repeat(placeholder.length) + num; maxstr='9'.repeat(placeholder.length) + num; } minstr=minstr.padEnd(this.maxLength, '0'); maxstr=maxstr.padEnd(this.maxLength, '9'); return [minstr, maxstr]; } }, { key: "doPrepare", value: function doPrepare(str){ var flags=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:{}; str=_get(_getPrototypeOf(MaskedRange.prototype), "doPrepare", this).call(this, str, flags).replace(/\D/g, ''); if(!this.autofix) return str; var fromStr=String(this.from).padStart(this.maxLength, '0'); var toStr=String(this.to).padStart(this.maxLength, '0'); var val=this.value; var prepStr=''; for (var ci=0; ci < str.length; ++ci){ var nextVal=val + prepStr + str[ci]; var _this$boundaries=this.boundaries(nextVal), _this$boundaries2=_slicedToArray(_this$boundaries, 2), minstr=_this$boundaries2[0], maxstr=_this$boundaries2[1]; if(Number(maxstr) < this.from) prepStr +=fromStr[nextVal.length - 1];else if(Number(minstr) > this.to) prepStr +=toStr[nextVal.length - 1];else prepStr +=str[ci]; } return prepStr; } }, { key: "doValidate", value: function doValidate(){ var _get2; var str=this.value; var firstNonZero=str.search(/[^0]/); if(firstNonZero===-1&&str.length <=this._matchFrom) return true; var _this$boundaries3=this.boundaries(str), _this$boundaries4=_slicedToArray(_this$boundaries3, 2), minstr=_this$boundaries4[0], maxstr=_this$boundaries4[1]; for (var _len=arguments.length, args=new Array(_len), _key=0; _key < _len; _key++){ args[_key]=arguments[_key]; } return this.from <=Number(maxstr)&&Number(minstr) <=this.to&&(_get2=_get(_getPrototypeOf(MaskedRange.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args)); }}, { key: "_matchFrom", get: function get(){ return this.maxLength - String(this.from).length; }}, { key: "isComplete", get: function get(){ return _get(_getPrototypeOf(MaskedRange.prototype), "isComplete", this)&&Boolean(this.value); }}]); return MaskedRange; }(MaskedPattern); IMask.MaskedRange=MaskedRange; var MaskedDate = function (_MaskedPattern){ _inherits(MaskedDate, _MaskedPattern); function MaskedDate(opts){ _classCallCheck(this, MaskedDate); return _possibleConstructorReturn(this, _getPrototypeOf(MaskedDate).call(this, Object.assign({}, MaskedDate.DEFAULTS, {}, opts))); } _createClass(MaskedDate, [{ key: "_update", value: function _update(opts){ if(opts.mask===Date) delete opts.mask; if(opts.pattern) opts.mask=opts.pattern; var blocks=opts.blocks; opts.blocks=Object.assign({}, MaskedDate.GET_DEFAULT_BLOCKS()); if(opts.min) opts.blocks.Y.from=opts.min.getFullYear(); if(opts.max) opts.blocks.Y.to=opts.max.getFullYear(); if(opts.min&&opts.max&&opts.blocks.Y.from===opts.blocks.Y.to){ opts.blocks.m.from=opts.min.getMonth() + 1; opts.blocks.m.to=opts.max.getMonth() + 1; if(opts.blocks.m.from===opts.blocks.m.to){ opts.blocks.d.from=opts.min.getDate(); opts.blocks.d.to=opts.max.getDate(); }} Object.assign(opts.blocks, blocks); Object.keys(opts.blocks).forEach(function (bk){ var b=opts.blocks[bk]; if(!('autofix' in b)) b.autofix=opts.autofix; }); _get(_getPrototypeOf(MaskedDate.prototype), "_update", this).call(this, opts); } }, { key: "doValidate", value: function doValidate(){ var _get2; var date=this.date; for (var _len=arguments.length, args=new Array(_len), _key=0; _key < _len; _key++){ args[_key]=arguments[_key]; } return (_get2=_get(_getPrototypeOf(MaskedDate.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args))&&(!this.isComplete||this.isDateExist(this.value)&&date!=null&&(this.min==null||this.min <=date)&&(this.max==null||date <=this.max)); } }, { key: "isDateExist", value: function isDateExist(str){ return this.format(this.parse(str, this), this).indexOf(str) >=0; } }, { key: "date", get: function get(){ return this.typedValue; }, set: function set(date){ this.typedValue=date; } }, { key: "typedValue", get: function get(){ return this.isComplete ? _get(_getPrototypeOf(MaskedDate.prototype), "typedValue", this):null; }, set: function set(value){ _set(_getPrototypeOf(MaskedDate.prototype), "typedValue", value, this, true); }}]); return MaskedDate; }(MaskedPattern); MaskedDate.DEFAULTS={ pattern: 'd{.}`m{.}`Y', format: function format(date){ var day=String(date.getDate()).padStart(2, '0'); var month=String(date.getMonth() + 1).padStart(2, '0'); var year=date.getFullYear(); return [day, month, year].join('.'); }, parse: function parse(str){ var _str$split=str.split('.'), _str$split2=_slicedToArray(_str$split, 3), day=_str$split2[0], month=_str$split2[1], year=_str$split2[2]; return new Date(year, month - 1, day); }}; MaskedDate.GET_DEFAULT_BLOCKS=function (){ return { d: { mask: MaskedRange, from: 1, to: 31, maxLength: 2 }, m: { mask: MaskedRange, from: 1, to: 12, maxLength: 2 }, Y: { mask: MaskedRange, from: 1900, to: 9999 }};}; IMask.MaskedDate=MaskedDate; var MaskElement = function (){ function MaskElement(){ _classCallCheck(this, MaskElement); } _createClass(MaskElement, [{ key: "select", value: function select(start, end){ if(start==null||end==null||start===this.selectionStart&&end===this.selectionEnd) return; try { this._unsafeSelect(start, end); } catch (e){}} }, { key: "_unsafeSelect", value: function _unsafeSelect(start, end){} }, { key: "bindEvents", value: function bindEvents(handlers){} }, { key: "unbindEvents", value: function unbindEvents(){}}, { key: "selectionStart", get: function get(){ var start; try { start=this._unsafeSelectionStart; } catch (e){} return start!=null ? start:this.value.length; } }, { key: "selectionEnd", get: function get(){ var end; try { end=this._unsafeSelectionEnd; } catch (e){} return end!=null ? end:this.value.length; }}, { key: "isActive", get: function get(){ return false; }}]); return MaskElement; }(); IMask.MaskElement=MaskElement; var HTMLMaskElement = function (_MaskElement){ _inherits(HTMLMaskElement, _MaskElement); function HTMLMaskElement(input){ var _this; _classCallCheck(this, HTMLMaskElement); _this=_possibleConstructorReturn(this, _getPrototypeOf(HTMLMaskElement).call(this)); _this.input=input; _this._handlers={}; return _this; } _createClass(HTMLMaskElement, [{ key: "_unsafeSelect", value: function _unsafeSelect(start, end){ this.input.setSelectionRange(start, end); } }, { key: "bindEvents", value: function bindEvents(handlers){ var _this2=this; Object.keys(handlers).forEach(function (event){ return _this2._toggleEventHandler(HTMLMaskElement.EVENTS_MAP[event], handlers[event]); }); } }, { key: "unbindEvents", value: function unbindEvents(){ var _this3=this; Object.keys(this._handlers).forEach(function (event){ return _this3._toggleEventHandler(event); }); } }, { key: "_toggleEventHandler", value: function _toggleEventHandler(event, handler){ if(this._handlers[event]){ this.input.removeEventListener(event, this._handlers[event]); delete this._handlers[event]; } if(handler){ this.input.addEventListener(event, handler); this._handlers[event]=handler; }} }, { key: "rootElement", get: function get(){ return this.input.getRootNode ? this.input.getRootNode():document; } }, { key: "isActive", get: function get(){ return this.input===this.rootElement.activeElement; } }, { key: "_unsafeSelectionStart", get: function get(){ return this.input.selectionStart; } }, { key: "_unsafeSelectionEnd", get: function get(){ return this.input.selectionEnd; }}, { key: "value", get: function get(){ return this.input.value; }, set: function set(value){ this.input.value=value; }}]); return HTMLMaskElement; }(MaskElement); HTMLMaskElement.EVENTS_MAP={ selectionChange: 'keydown', input: 'input', drop: 'drop', click: 'click', focus: 'focus', commit: 'blur' }; IMask.HTMLMaskElement=HTMLMaskElement; var HTMLContenteditableMaskElement = function (_HTMLMaskElement){ _inherits(HTMLContenteditableMaskElement, _HTMLMaskElement); function HTMLContenteditableMaskElement(){ _classCallCheck(this, HTMLContenteditableMaskElement); return _possibleConstructorReturn(this, _getPrototypeOf(HTMLContenteditableMaskElement).apply(this, arguments)); } _createClass(HTMLContenteditableMaskElement, [{ key: "_unsafeSelect", value: function _unsafeSelect(start, end){ if(!this.rootElement.createRange) return; var range=this.rootElement.createRange(); range.setStart(this.input.firstChild||this.input, start); range.setEnd(this.input.lastChild||this.input, end); var root=this.rootElement; var selection=root.getSelection&&root.getSelection(); if(selection){ selection.removeAllRanges(); selection.addRange(range); }} }, { key: "_unsafeSelectionStart", get: function get(){ var root=this.rootElement; var selection=root.getSelection&&root.getSelection(); return selection&&selection.anchorOffset; } }, { key: "_unsafeSelectionEnd", get: function get(){ var root=this.rootElement; var selection=root.getSelection&&root.getSelection(); return selection&&this._unsafeSelectionStart + String(selection).length; }}, { key: "value", get: function get(){ return this.input.textContent; }, set: function set(value){ this.input.textContent=value; }}]); return HTMLContenteditableMaskElement; }(HTMLMaskElement); IMask.HTMLContenteditableMaskElement=HTMLContenteditableMaskElement; var InputMask = function (){ function InputMask(el, opts){ _classCallCheck(this, InputMask); this.el=el instanceof MaskElement ? el:el.isContentEditable&&el.tagName!=='INPUT'&&el.tagName!=='TEXTAREA' ? new HTMLContenteditableMaskElement(el):new HTMLMaskElement(el); this.masked=createMask(opts); this._listeners={}; this._value=''; this._unmaskedValue=''; this._saveSelection=this._saveSelection.bind(this); this._onInput=this._onInput.bind(this); this._onChange=this._onChange.bind(this); this._onDrop=this._onDrop.bind(this); this._onFocus=this._onFocus.bind(this); this._onClick=this._onClick.bind(this); this.alignCursor=this.alignCursor.bind(this); this.alignCursorFriendly=this.alignCursorFriendly.bind(this); this._bindEvents(); this.updateValue(); this._onChange(); } _createClass(InputMask, [{ key: "maskEquals", value: function maskEquals(mask){ return mask==null||mask===this.masked.mask||mask===Date&&this.masked instanceof MaskedDate; }}, { key: "_bindEvents", value: function _bindEvents(){ this.el.bindEvents({ selectionChange: this._saveSelection, input: this._onInput, drop: this._onDrop, click: this._onClick, focus: this._onFocus, commit: this._onChange }); } }, { key: "_unbindEvents", value: function _unbindEvents(){ if(this.el) this.el.unbindEvents(); } }, { key: "_fireEvent", value: function _fireEvent(ev){ for (var _len=arguments.length, args=new Array(_len > 1 ? _len - 1:0), _key=1; _key < _len; _key++){ args[_key - 1]=arguments[_key]; } var listeners=this._listeners[ev]; if(!listeners) return; listeners.forEach(function (l){ return l.apply(void 0, args); }); } }, { key: "_saveSelection", value: function _saveSelection() { if(this.value!==this.el.value){ console.warn('Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly.'); } this._selection={ start: this.selectionStart, end: this.cursorPos };} }, { key: "updateValue", value: function updateValue(){ this.masked.value=this.el.value; this._value=this.masked.value; } }, { key: "updateControl", value: function updateControl(){ var newUnmaskedValue=this.masked.unmaskedValue; var newValue=this.masked.value; var isChanged=this.unmaskedValue!==newUnmaskedValue||this.value!==newValue; this._unmaskedValue=newUnmaskedValue; this._value=newValue; if(this.el.value!==newValue) this.el.value=newValue; if(isChanged) this._fireChangeEvents(); } }, { key: "updateOptions", value: function updateOptions(opts){ var mask=opts.mask, restOpts=_objectWithoutProperties(opts, ["mask"]); var updateMask = !this.maskEquals(mask); var updateOpts = !objectIncludes(this.masked, restOpts); if(updateMask) this.mask=mask; if(updateOpts) this.masked.updateOptions(restOpts); if(updateMask||updateOpts) this.updateControl(); } }, { key: "updateCursor", value: function updateCursor(cursorPos){ if(cursorPos==null) return; this.cursorPos=cursorPos; this._delayUpdateCursor(cursorPos); } }, { key: "_delayUpdateCursor", value: function _delayUpdateCursor(cursorPos){ var _this=this; this._abortUpdateCursor(); this._changingCursorPos=cursorPos; this._cursorChanging=setTimeout(function (){ if(!_this.el) return; _this.cursorPos=_this._changingCursorPos; _this._abortUpdateCursor(); }, 10); } }, { key: "_fireChangeEvents", value: function _fireChangeEvents(){ this._fireEvent('accept', this._inputEvent); if(this.masked.isComplete) this._fireEvent('complete', this._inputEvent); } }, { key: "_abortUpdateCursor", value: function _abortUpdateCursor(){ if(this._cursorChanging){ clearTimeout(this._cursorChanging); delete this._cursorChanging; }} }, { key: "alignCursor", value: function alignCursor(){ this.cursorPos=this.masked.nearestInputPos(this.cursorPos, DIRECTION.LEFT); } }, { key: "alignCursorFriendly", value: function alignCursorFriendly(){ if(this.selectionStart!==this.cursorPos) return; this.alignCursor(); } }, { key: "on", value: function on(ev, handler){ if(!this._listeners[ev]) this._listeners[ev]=[]; this._listeners[ev].push(handler); return this; } }, { key: "off", value: function off(ev, handler){ if(!this._listeners[ev]) return this; if(!handler){ delete this._listeners[ev]; return this; } var hIndex=this._listeners[ev].indexOf(handler); if(hIndex >=0) this._listeners[ev].splice(hIndex, 1); return this; } }, { key: "_onInput", value: function _onInput(e){ this._inputEvent=e; this._abortUpdateCursor(); if(!this._selection) return this.updateValue(); var details=new ActionDetails( this.el.value, this.cursorPos, this.value, this._selection); var oldRawValue=this.masked.rawInputValue; var offset=this.masked.splice(details.startChangePos, details.removed.length, details.inserted, details.removeDirection).offset; var removeDirection=oldRawValue===this.masked.rawInputValue ? details.removeDirection:DIRECTION.NONE; var cursorPos=this.masked.nearestInputPos(details.startChangePos + offset, removeDirection); this.updateControl(); this.updateCursor(cursorPos); delete this._inputEvent; } }, { key: "_onChange", value: function _onChange(){ if(this.value!==this.el.value){ this.updateValue(); } this.masked.doCommit(); this.updateControl(); this._saveSelection(); } }, { key: "_onDrop", value: function _onDrop(ev){ ev.preventDefault(); ev.stopPropagation(); } }, { key: "_onFocus", value: function _onFocus(ev){ this.alignCursorFriendly(); } }, { key: "_onClick", value: function _onClick(ev){ this.alignCursorFriendly(); } }, { key: "destroy", value: function destroy(){ this._unbindEvents(); this._listeners.length=0; delete this.el; }}, { key: "mask", get: function get(){ return this.masked.mask; }, set: function set(mask){ if(this.maskEquals(mask)) return; if(!(mask instanceof IMask.Masked)&&this.masked.constructor===maskedClass(mask)){ this.masked.updateOptions({ mask: mask }); return; } var masked=createMask({ mask: mask }); masked.unmaskedValue=this.masked.unmaskedValue; this.masked=masked; } }, { key: "value", get: function get(){ return this._value; }, set: function set(str){ this.masked.value=str; this.updateControl(); this.alignCursor(); } }, { key: "unmaskedValue", get: function get(){ return this._unmaskedValue; }, set: function set(str){ this.masked.unmaskedValue=str; this.updateControl(); this.alignCursor(); } }, { key: "typedValue", get: function get(){ return this.masked.typedValue; }, set: function set(val){ this.masked.typedValue=val; this.updateControl(); this.alignCursor(); }}, { key: "selectionStart", get: function get(){ return this._cursorChanging ? this._changingCursorPos:this.el.selectionStart; } }, { key: "cursorPos", get: function get(){ return this._cursorChanging ? this._changingCursorPos:this.el.selectionEnd; }, set: function set(pos){ if(!this.el||!this.el.isActive) return; this.el.select(pos, pos); this._saveSelection(); }}]); return InputMask; }(); IMask.InputMask=InputMask; var MaskedEnum = function (_MaskedPattern){ _inherits(MaskedEnum, _MaskedPattern); function MaskedEnum(){ _classCallCheck(this, MaskedEnum); return _possibleConstructorReturn(this, _getPrototypeOf(MaskedEnum).apply(this, arguments)); } _createClass(MaskedEnum, [{ key: "_update", value: function _update(opts){ if(opts.enum) opts.mask='*'.repeat(opts.enum[0].length); _get(_getPrototypeOf(MaskedEnum.prototype), "_update", this).call(this, opts); } }, { key: "doValidate", value: function doValidate(){ var _this=this, _get2; for (var _len=arguments.length, args=new Array(_len), _key=0; _key < _len; _key++){ args[_key]=arguments[_key]; } return this.enum.some(function (e){ return e.indexOf(_this.unmaskedValue) >=0; })&&(_get2=_get(_getPrototypeOf(MaskedEnum.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args)); }}]); return MaskedEnum; }(MaskedPattern); IMask.MaskedEnum=MaskedEnum; var MaskedNumber = function (_Masked){ _inherits(MaskedNumber, _Masked); function MaskedNumber(opts){ _classCallCheck(this, MaskedNumber); return _possibleConstructorReturn(this, _getPrototypeOf(MaskedNumber).call(this, Object.assign({}, MaskedNumber.DEFAULTS, {}, opts))); } _createClass(MaskedNumber, [{ key: "_update", value: function _update(opts){ _get(_getPrototypeOf(MaskedNumber.prototype), "_update", this).call(this, opts); this._updateRegExps(); } }, { key: "_updateRegExps", value: function _updateRegExps(){ var start='^' + (this.allowNegative ? '[+|\\-]?':''); var midInput='(0|([1-9]+\\d*))?'; var mid='\\d*'; var end=(this.scale ? '(' + escapeRegExp(this.radix) + '\\d{0,' + this.scale + '})?':'') + '$'; this._numberRegExpInput=new RegExp(start + midInput + end); this._numberRegExp=new RegExp(start + mid + end); this._mapToRadixRegExp=new RegExp('[' + this.mapToRadix.map(escapeRegExp).join('') + ']', 'g'); this._thousandsSeparatorRegExp=new RegExp(escapeRegExp(this.thousandsSeparator), 'g'); } }, { key: "_removeThousandsSeparators", value: function _removeThousandsSeparators(value){ return value.replace(this._thousandsSeparatorRegExp, ''); } }, { key: "_insertThousandsSeparators", value: function _insertThousandsSeparators(value){ var parts=value.split(this.radix); parts[0]=parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, this.thousandsSeparator); return parts.join(this.radix); } }, { key: "doPrepare", value: function doPrepare(str){ var _get2; for (var _len=arguments.length, args=new Array(_len > 1 ? _len - 1:0), _key=1; _key < _len; _key++){ args[_key - 1]=arguments[_key]; } return (_get2=_get(_getPrototypeOf(MaskedNumber.prototype), "doPrepare", this)).call.apply(_get2, [this, this._removeThousandsSeparators(str.replace(this._mapToRadixRegExp, this.radix))].concat(args)); } }, { key: "_separatorsCount", value: function _separatorsCount(to){ var extendOnSeparators=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:false; var count=0; for (var pos=0; pos < to; ++pos){ if(this._value.indexOf(this.thousandsSeparator, pos)===pos){ ++count; if(extendOnSeparators) to +=this.thousandsSeparator.length; }} return count; } }, { key: "_separatorsCountFromSlice", value: function _separatorsCountFromSlice(){ var slice=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:this._value; return this._separatorsCount(this._removeThousandsSeparators(slice).length, true); } }, { key: "extractInput", value: function extractInput(){ var fromPos=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:0; var toPos=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:this.value.length; var flags=arguments.length > 2 ? arguments[2]:undefined; var _this$_adjustRangeWit=this._adjustRangeWithSeparators(fromPos, toPos); var _this$_adjustRangeWit2=_slicedToArray(_this$_adjustRangeWit, 2); fromPos=_this$_adjustRangeWit2[0]; toPos=_this$_adjustRangeWit2[1]; return this._removeThousandsSeparators(_get(_getPrototypeOf(MaskedNumber.prototype), "extractInput", this).call(this, fromPos, toPos, flags)); } }, { key: "_appendCharRaw", value: function _appendCharRaw(ch){ var flags=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:{}; if(!this.thousandsSeparator) return _get(_getPrototypeOf(MaskedNumber.prototype), "_appendCharRaw", this).call(this, ch, flags); var prevBeforeTailValue=flags.tail&&flags._beforeTailState ? flags._beforeTailState._value:this._value; var prevBeforeTailSeparatorsCount=this._separatorsCountFromSlice(prevBeforeTailValue); this._value=this._removeThousandsSeparators(this.value); var appendDetails=_get(_getPrototypeOf(MaskedNumber.prototype), "_appendCharRaw", this).call(this, ch, flags); this._value=this._insertThousandsSeparators(this._value); var beforeTailValue=flags.tail&&flags._beforeTailState ? flags._beforeTailState._value:this._value; var beforeTailSeparatorsCount=this._separatorsCountFromSlice(beforeTailValue); appendDetails.tailShift +=(beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length; appendDetails.skip = !appendDetails.rawInserted&&ch===this.thousandsSeparator; return appendDetails; } }, { key: "_findSeparatorAround", value: function _findSeparatorAround(pos){ if(this.thousandsSeparator){ var searchFrom=pos - this.thousandsSeparator.length + 1; var separatorPos=this.value.indexOf(this.thousandsSeparator, searchFrom); if(separatorPos <=pos) return separatorPos; } return -1; }}, { key: "_adjustRangeWithSeparators", value: function _adjustRangeWithSeparators(from, to){ var separatorAroundFromPos=this._findSeparatorAround(from); if(separatorAroundFromPos >=0) from=separatorAroundFromPos; var separatorAroundToPos=this._findSeparatorAround(to); if(separatorAroundToPos >=0) to=separatorAroundToPos + this.thousandsSeparator.length; return [from, to]; } }, { key: "remove", value: function remove(){ var fromPos=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:0; var toPos=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:this.value.length; var _this$_adjustRangeWit3=this._adjustRangeWithSeparators(fromPos, toPos); var _this$_adjustRangeWit4=_slicedToArray(_this$_adjustRangeWit3, 2); fromPos=_this$_adjustRangeWit4[0]; toPos=_this$_adjustRangeWit4[1]; var valueBeforePos=this.value.slice(0, fromPos); var valueAfterPos=this.value.slice(toPos); var prevBeforeTailSeparatorsCount=this._separatorsCount(valueBeforePos.length); this._value=this._insertThousandsSeparators(this._removeThousandsSeparators(valueBeforePos + valueAfterPos)); var beforeTailSeparatorsCount=this._separatorsCountFromSlice(valueBeforePos); return new ChangeDetails({ tailShift: (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length }); } }, { key: "nearestInputPos", value: function nearestInputPos(cursorPos, direction){ if(!this.thousandsSeparator) return cursorPos; switch (direction){ case DIRECTION.NONE: case DIRECTION.LEFT: case DIRECTION.FORCE_LEFT: { var separatorAtLeftPos=this._findSeparatorAround(cursorPos - 1); if(separatorAtLeftPos >=0){ var separatorAtLeftEndPos=separatorAtLeftPos + this.thousandsSeparator.length; if(cursorPos < separatorAtLeftEndPos||this.value.length <=separatorAtLeftEndPos||direction===DIRECTION.FORCE_LEFT){ return separatorAtLeftPos; }} break; } case DIRECTION.RIGHT: case DIRECTION.FORCE_RIGHT: { var separatorAtRightPos=this._findSeparatorAround(cursorPos); if(separatorAtRightPos >=0){ return separatorAtRightPos + this.thousandsSeparator.length; }} } return cursorPos; } }, { key: "doValidate", value: function doValidate(flags){ var regexp=flags.input ? this._numberRegExpInput:this._numberRegExp; var valid=regexp.test(this._removeThousandsSeparators(this.value)); if(valid){ var number=this.number; valid=valid&&!isNaN(number)&&( this.min==null||this.min >=0||this.min <=this.number)&&( this.max==null||this.max <=0||this.number <=this.max); } return valid&&_get(_getPrototypeOf(MaskedNumber.prototype), "doValidate", this).call(this, flags); } }, { key: "doCommit", value: function doCommit(){ if(this.value){ var number=this.number; var validnum=number; if(this.min!=null) validnum=Math.max(validnum, this.min); if(this.max!=null) validnum=Math.min(validnum, this.max); if(validnum!==number) this.unmaskedValue=String(validnum); var formatted=this.value; if(this.normalizeZeros) formatted=this._normalizeZeros(formatted); if(this.padFractionalZeros) formatted=this._padFractionalZeros(formatted); this._value=formatted; } _get(_getPrototypeOf(MaskedNumber.prototype), "doCommit", this).call(this); } }, { key: "_normalizeZeros", value: function _normalizeZeros(value){ var parts=this._removeThousandsSeparators(value).split(this.radix); parts[0]=parts[0].replace(/^(\D*)(0*)(\d*)/, function (match, sign, zeros, num){ return sign + num; }); if(value.length&&!/\d$/.test(parts[0])) parts[0]=parts[0] + '0'; if(parts.length > 1){ parts[1]=parts[1].replace(/0*$/, ''); if(!parts[1].length) parts.length=1; } return this._insertThousandsSeparators(parts.join(this.radix)); } }, { key: "_padFractionalZeros", value: function _padFractionalZeros(value){ if(!value) return value; var parts=value.split(this.radix); if(parts.length < 2) parts.push(''); parts[1]=parts[1].padEnd(this.scale, '0'); return parts.join(this.radix); } }, { key: "unmaskedValue", get: function get(){ return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix, '.'); }, set: function set(unmaskedValue){ _set(_getPrototypeOf(MaskedNumber.prototype), "unmaskedValue", unmaskedValue.replace('.', this.radix), this, true); } }, { key: "typedValue", get: function get(){ return Number(this.unmaskedValue); }, set: function set(n){ _set(_getPrototypeOf(MaskedNumber.prototype), "unmaskedValue", String(n), this, true); } }, { key: "number", get: function get(){ return this.typedValue; }, set: function set(number){ this.typedValue=number; } }, { key: "allowNegative", get: function get(){ return this.signed||this.min!=null&&this.min < 0||this.max!=null&&this.max < 0; }}]); return MaskedNumber; }(Masked); MaskedNumber.DEFAULTS={ radix: ',', thousandsSeparator: '', mapToRadix: ['.'], scale: 2, signed: false, normalizeZeros: true, padFractionalZeros: false }; IMask.MaskedNumber=MaskedNumber; var MaskedFunction = function (_Masked){ _inherits(MaskedFunction, _Masked); function MaskedFunction(){ _classCallCheck(this, MaskedFunction); return _possibleConstructorReturn(this, _getPrototypeOf(MaskedFunction).apply(this, arguments)); } _createClass(MaskedFunction, [{ key: "_update", value: function _update(opts){ if(opts.mask) opts.validate=opts.mask; _get(_getPrototypeOf(MaskedFunction.prototype), "_update", this).call(this, opts); }}]); return MaskedFunction; }(Masked); IMask.MaskedFunction=MaskedFunction; var MaskedDynamic = function (_Masked){ _inherits(MaskedDynamic, _Masked); function MaskedDynamic(opts){ var _this; _classCallCheck(this, MaskedDynamic); _this=_possibleConstructorReturn(this, _getPrototypeOf(MaskedDynamic).call(this, Object.assign({}, MaskedDynamic.DEFAULTS, {}, opts))); _this.currentMask=null; return _this; } _createClass(MaskedDynamic, [{ key: "_update", value: function _update(opts){ _get(_getPrototypeOf(MaskedDynamic.prototype), "_update", this).call(this, opts); if('mask' in opts){ this.compiledMasks=Array.isArray(opts.mask) ? opts.mask.map(function (m){ return createMask(m); }):[]; }} }, { key: "_appendCharRaw", value: function _appendCharRaw(){ var details=this._applyDispatch.apply(this, arguments); if(this.currentMask){ var _this$currentMask; details.aggregate((_this$currentMask=this.currentMask)._appendChar.apply(_this$currentMask, arguments)); } return details; }}, { key: "_applyDispatch", value: function _applyDispatch(){ var appended=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:''; var flags=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:{}; var prevValueBeforeTail=flags.tail&&flags._beforeTailState!=null ? flags._beforeTailState._value:this.value; var inputValue=this.rawInputValue; var insertValue=flags.tail&&flags._beforeTailState!=null ? flags._beforeTailState._rawInputValue:inputValue; var tailValue=inputValue.slice(insertValue.length); var prevMask=this.currentMask; var details=new ChangeDetails(); var prevMaskState=prevMask&&prevMask.state; this.currentMask=this.doDispatch(appended, Object.assign({}, flags)); if(this.currentMask){ if(this.currentMask!==prevMask){ this.currentMask.reset(); var d=this.currentMask.append(insertValue, { raw: true }); details.tailShift=d.inserted.length - prevValueBeforeTail.length; if(tailValue){ details.tailShift +=this.currentMask.append(tailValue, { raw: true, tail: true }).tailShift; }}else{ this.currentMask.state=prevMaskState; }} return details; }}, { key: "_appendPlaceholder", value: function _appendPlaceholder(){ var details=this._applyDispatch.apply(this, arguments); if(this.currentMask){ details.aggregate(this.currentMask._appendPlaceholder()); } return details; } }, { key: "doDispatch", value: function doDispatch(appended){ var flags=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:{}; return this.dispatch(appended, this, flags); } }, { key: "doValidate", value: function doValidate(){ var _get2, _this$currentMask2; for (var _len=arguments.length, args=new Array(_len), _key=0; _key < _len; _key++){ args[_key]=arguments[_key]; } return (_get2=_get(_getPrototypeOf(MaskedDynamic.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args))&&(!this.currentMask||(_this$currentMask2=this.currentMask).doValidate.apply(_this$currentMask2, args)); } }, { key: "reset", value: function reset(){ if(this.currentMask) this.currentMask.reset(); this.compiledMasks.forEach(function (m){ return m.reset(); }); } }, { key: "remove", value: function remove(){ var details=new ChangeDetails(); if(this.currentMask){ var _this$currentMask3; details.aggregate((_this$currentMask3=this.currentMask).remove.apply(_this$currentMask3, arguments)) .aggregate(this._applyDispatch()); } return details; } }, { key: "extractInput", value: function extractInput(){ var _this$currentMask4; return this.currentMask ? (_this$currentMask4=this.currentMask).extractInput.apply(_this$currentMask4, arguments):''; } }, { key: "extractTail", value: function extractTail(){ var _this$currentMask5, _get3; for (var _len2=arguments.length, args=new Array(_len2), _key2=0; _key2 < _len2; _key2++){ args[_key2]=arguments[_key2]; } return this.currentMask ? (_this$currentMask5=this.currentMask).extractTail.apply(_this$currentMask5, args):(_get3=_get(_getPrototypeOf(MaskedDynamic.prototype), "extractTail", this)).call.apply(_get3, [this].concat(args)); } }, { key: "doCommit", value: function doCommit(){ if(this.currentMask) this.currentMask.doCommit(); _get(_getPrototypeOf(MaskedDynamic.prototype), "doCommit", this).call(this); } }, { key: "nearestInputPos", value: function nearestInputPos(){ var _this$currentMask6, _get4; for (var _len3=arguments.length, args=new Array(_len3), _key3=0; _key3 < _len3; _key3++){ args[_key3]=arguments[_key3]; } return this.currentMask ? (_this$currentMask6=this.currentMask).nearestInputPos.apply(_this$currentMask6, args):(_get4=_get(_getPrototypeOf(MaskedDynamic.prototype), "nearestInputPos", this)).call.apply(_get4, [this].concat(args)); }}, { key: "value", get: function get(){ return this.currentMask ? this.currentMask.value:''; }, set: function set(value){ _set(_getPrototypeOf(MaskedDynamic.prototype), "value", value, this, true); } }, { key: "unmaskedValue", get: function get(){ return this.currentMask ? this.currentMask.unmaskedValue:''; }, set: function set(unmaskedValue){ _set(_getPrototypeOf(MaskedDynamic.prototype), "unmaskedValue", unmaskedValue, this, true); } }, { key: "typedValue", get: function get(){ return this.currentMask ? this.currentMask.typedValue:''; } , set: function set(value){ var unmaskedValue=String(value); if(this.currentMask){ this.currentMask.typedValue=value; unmaskedValue=this.currentMask.unmaskedValue; } this.unmaskedValue=unmaskedValue; } }, { key: "isComplete", get: function get(){ return !!this.currentMask&&this.currentMask.isComplete; }}, { key: "state", get: function get(){ return Object.assign({}, _get(_getPrototypeOf(MaskedDynamic.prototype), "state", this), { _rawInputValue: this.rawInputValue, compiledMasks: this.compiledMasks.map(function (m){ return m.state; }), currentMaskRef: this.currentMask, currentMask: this.currentMask&&this.currentMask.state }); }, set: function set(state){ var compiledMasks=state.compiledMasks, currentMaskRef=state.currentMaskRef, currentMask=state.currentMask, maskedState=_objectWithoutProperties(state, ["compiledMasks", "currentMaskRef", "currentMask"]); this.compiledMasks.forEach(function (m, mi){ return m.state=compiledMasks[mi]; }); if(currentMaskRef!=null){ this.currentMask=currentMaskRef; this.currentMask.state=currentMask; } _set(_getPrototypeOf(MaskedDynamic.prototype), "state", maskedState, this, true); }}, { key: "overwrite", get: function get(){ return this.currentMask ? this.currentMask.overwrite:_get(_getPrototypeOf(MaskedDynamic.prototype), "overwrite", this); }, set: function set(overwrite){ console.warn('"overwrite" option is not available in dynamic mask, use this option in siblings'); }}]); return MaskedDynamic; }(Masked); MaskedDynamic.DEFAULTS={ dispatch: function dispatch(appended, masked, flags){ if(!masked.compiledMasks.length) return; var inputValue=masked.rawInputValue; var inputs=masked.compiledMasks.map(function (m, index){ m.reset(); m.append(inputValue, { raw: true }); m.append(appended, flags); var weight=m.rawInputValue.length; return { weight: weight, index: index };}); inputs.sort(function (i1, i2){ return i2.weight - i1.weight; }); return masked.compiledMasks[inputs[0].index]; }}; IMask.MaskedDynamic=MaskedDynamic; var PIPE_TYPE={ MASKED: 'value', UNMASKED: 'unmaskedValue', TYPED: 'typedValue' }; function createPipe(mask){ var from=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:PIPE_TYPE.MASKED; var to=arguments.length > 2&&arguments[2]!==undefined ? arguments[2]:PIPE_TYPE.MASKED; var masked=createMask(mask); return function (value){ return masked.runIsolated(function (m){ m[from]=value; return m[to]; }); };} function pipe(value){ for (var _len=arguments.length, pipeArgs=new Array(_len > 1 ? _len - 1:0), _key=1; _key < _len; _key++){ pipeArgs[_key - 1]=arguments[_key]; } return createPipe.apply(void 0, pipeArgs)(value); } IMask.PIPE_TYPE=PIPE_TYPE; IMask.createPipe=createPipe; IMask.pipe=pipe; try { globalThis.IMask=IMask; } catch (e){} exports.HTMLContenteditableMaskElement=HTMLContenteditableMaskElement; exports.HTMLMaskElement=HTMLMaskElement; exports.InputMask=InputMask; exports.MaskElement=MaskElement; exports.Masked=Masked; exports.MaskedDate=MaskedDate; exports.MaskedDynamic=MaskedDynamic; exports.MaskedEnum=MaskedEnum; exports.MaskedFunction=MaskedFunction; exports.MaskedNumber=MaskedNumber; exports.MaskedPattern=MaskedPattern; exports.MaskedRange=MaskedRange; exports.MaskedRegExp=MaskedRegExp; exports.PIPE_TYPE=PIPE_TYPE; exports.createMask=createMask; exports.createPipe=createPipe; exports.default=IMask; exports.pipe=pipe; Object.defineProperty(exports, '__esModule', { value: true }); }))); !function(t,e,n,o){"use strict";function i(t,e){var o,i,a,s=[],r=0;t&&t.isDefaultPrevented()||(t.preventDefault(),e=e||{},t&&t.data&&(e=h(t.data.options,e)),o=e.$target||n(t.currentTarget).trigger("blur"),(a=n.fancybox.getInstance())&&a.$trigger&&a.$trigger.is(o)||(e.selector?s=n(e.selector):(i=o.attr("data-fancybox")||"",i?(s=t.data?t.data.items:[],s=s.length?s.filter('[data-fancybox="'+i+'"]'):n('[data-fancybox="'+i+'"]')):s=[o]),r=n(s).index(o),r<0&&(r=0),a=n.fancybox.open(s,e,r),a.$trigger=o))}if(t.console=t.console||{info:function(t){}},n){if(n.fn.fancybox)return void console.info("fancyBox already initialized");var a={closeExisting:!1,loop:!1,gutter:50,keyboard:!0,preventCaptionOverlap:!0,arrows:!0,infobar:!0,smallBtn:"auto",toolbar:"auto",buttons:["zoom","slideShow","thumbs","close"],idleTime:3,protect:!1,modal:!1,image:{preload:!1},ajax:{settings:{data:{fancybox:!0}}},iframe:{tpl:'',preload:!0,css:{},attr:{scrolling:"auto"}},video:{tpl:'
    download and watch with your favorite video player!',format:"",autoStart:!0},defaultType:"image",animationEffect:"zoom",animationDuration:366,zoomOpacity:"auto",transitionEffect:"fade",transitionDuration:366,slideClass:"",baseClass:"",baseTpl:'',spinnerTpl:'
    ',errorTpl:'

    {{ERROR}}

    ',btnTpl:{download:'',zoom:'',close:'',arrowLeft:'',arrowRight:'',smallBtn:''},parentEl:"body",hideScrollbar:!0,autoFocus:!0,backFocus:!0,trapFocus:!0,fullScreen:{autoStart:!1},touch:{vertical:!0,momentum:!0},hash:null,media:{},slideShow:{autoStart:!1,speed:3e3},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"},wheel:"auto",onInit:n.noop,beforeLoad:n.noop,afterLoad:n.noop,beforeShow:n.noop,afterShow:n.noop,beforeClose:n.noop,afterClose:n.noop,onActivate:n.noop,onDeactivate:n.noop,clickContent:function(t,e){return"image"===t.type&&"zoom"},clickSlide:"close",clickOutside:"close",dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1,mobile:{preventCaptionOverlap:!1,idleTime:!1,clickContent:function(t,e){return"image"===t.type&&"toggleControls"},clickSlide:function(t,e){return"image"===t.type?"toggleControls":"close"},dblclickContent:function(t,e){return"image"===t.type&&"zoom"},dblclickSlide:function(t,e){return"image"===t.type&&"zoom"}},lang:"en",i18n:{en:{CLOSE:"Close",NEXT:"Next",PREV:"Previous",ERROR:"The requested content cannot be loaded.
    Please try again later.",PLAY_START:"Start slideshow",PLAY_STOP:"Pause slideshow",FULL_SCREEN:"Full screen",THUMBS:"Thumbnails",DOWNLOAD:"Download",SHARE:"Share",ZOOM:"Zoom"},de:{CLOSE:"Schließen",NEXT:"Weiter",PREV:"Zurück",ERROR:"Die angeforderten Daten konnten nicht geladen werden.
    Bitte versuchen Sie es später nochmal.",PLAY_START:"Diaschau starten",PLAY_STOP:"Diaschau beenden",FULL_SCREEN:"Vollbild",THUMBS:"Vorschaubilder",DOWNLOAD:"Herunterladen",SHARE:"Teilen",ZOOM:"Vergrößern"}}},s=n(t),r=n(e),c=0,l=function(t){return t&&t.hasOwnProperty&&t instanceof n},d=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),u=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e)}}(),f=function(){var t,n=e.createElement("fakeelement"),o={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(t in o)if(void 0!==n.style[t])return o[t];return"transitionend"}(),p=function(t){return t&&t.length&&t[0].offsetHeight},h=function(t,e){var o=n.extend(!0,{},t,e);return n.each(e,function(t,e){n.isArray(e)&&(o[t]=e)}),o},g=function(t){var o,i;return!(!t||t.ownerDocument!==e)&&(n(".fancybox-container").css("pointer-events","none"),o={x:t.getBoundingClientRect().left+t.offsetWidth/2,y:t.getBoundingClientRect().top+t.offsetHeight/2},i=e.elementFromPoint(o.x,o.y)===t,n(".fancybox-container").css("pointer-events",""),i)},b=function(t,e,o){var i=this;i.opts=h({index:o},n.fancybox.defaults),n.isPlainObject(e)&&(i.opts=h(i.opts,e)),n.fancybox.isMobile&&(i.opts=h(i.opts,i.opts.mobile)),i.id=i.opts.id||++c,i.currIndex=parseInt(i.opts.index,10)||0,i.prevIndex=null,i.prevPos=null,i.currPos=0,i.firstRun=!0,i.group=[],i.slides={},i.addContent(t),i.group.length&&i.init()};n.extend(b.prototype,{init:function(){var o,i,a=this,s=a.group[a.currIndex],r=s.opts;r.closeExisting&&n.fancybox.close(!0),n("body").addClass("fancybox-active"),!n.fancybox.getInstance()&&!1!==r.hideScrollbar&&!n.fancybox.isMobile&&e.body.scrollHeight>t.innerHeight&&(n("head").append('"),n("body").addClass("compensate-for-scrollbar")),i="",n.each(r.buttons,function(t,e){i+=r.btnTpl[e]||""}),o=n(a.translate(a,r.baseTpl.replace("{{buttons}}",i).replace("{{arrows}}",r.btnTpl.arrowLeft+r.btnTpl.arrowRight))).attr("id","fancybox-container-"+a.id).addClass(r.baseClass).data("FancyBox",a).appendTo(r.parentEl),a.$refs={container:o},["bg","inner","infobar","toolbar","stage","caption","navigation"].forEach(function(t){a.$refs[t]=o.find(".fancybox-"+t)}),a.trigger("onInit"),a.activate(),a.jumpTo(a.currIndex)},translate:function(t,e){var n=t.opts.i18n[t.opts.lang]||t.opts.i18n.en;return e.replace(/\{\{(\w+)\}\}/g,function(t,e){return void 0===n[e]?t:n[e]})},addContent:function(t){var e,o=this,i=n.makeArray(t);n.each(i,function(t,e){var i,a,s,r,c,l={},d={};n.isPlainObject(e)?(l=e,d=e.opts||e):"object"===n.type(e)&&n(e).length?(i=n(e),d=i.data()||{},d=n.extend(!0,{},d,d.options),d.$orig=i,l.src=o.opts.src||d.src||i.attr("href"),l.type||l.src||(l.type="inline",l.src=e)):l={type:"html",src:e+""},l.opts=n.extend(!0,{},o.opts,d),n.isArray(d.buttons)&&(l.opts.buttons=d.buttons),n.fancybox.isMobile&&l.opts.mobile&&(l.opts=h(l.opts,l.opts.mobile)),a=l.type||l.opts.type,r=l.src||"",!a&&r&&((s=r.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))?(a="video",l.opts.video.format||(l.opts.video.format="video/"+("ogv"===s[1]?"ogg":s[1]))):r.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?a="image":r.match(/\.(pdf)((\?|#).*)?$/i)?(a="iframe",l=n.extend(!0,l,{contentType:"pdf",opts:{iframe:{preload:!1}}})):"#"===r.charAt(0)&&(a="inline")),a?l.type=a:o.trigger("objectNeedsType",l),l.contentType||(l.contentType=n.inArray(l.type,["html","inline","ajax"])>-1?"html":l.type),l.index=o.group.length,"auto"==l.opts.smallBtn&&(l.opts.smallBtn=n.inArray(l.type,["html","inline","ajax"])>-1),"auto"===l.opts.toolbar&&(l.opts.toolbar=!l.opts.smallBtn),l.$thumb=l.opts.$thumb||null,l.opts.$trigger&&l.index===o.opts.index&&(l.$thumb=l.opts.$trigger.find("img:first"),l.$thumb.length&&(l.opts.$orig=l.opts.$trigger)),l.$thumb&&l.$thumb.length||!l.opts.$orig||(l.$thumb=l.opts.$orig.find("img:first")),l.$thumb&&!l.$thumb.length&&(l.$thumb=null),l.thumb=l.opts.thumb||(l.$thumb?l.$thumb[0].src:null),"function"===n.type(l.opts.caption)&&(l.opts.caption=l.opts.caption.apply(e,[o,l])),"function"===n.type(o.opts.caption)&&(l.opts.caption=o.opts.caption.apply(e,[o,l])),l.opts.caption instanceof n||(l.opts.caption=void 0===l.opts.caption?"":l.opts.caption+""),"ajax"===l.type&&(c=r.split(/\s+/,2),c.length>1&&(l.src=c.shift(),l.opts.filter=c.shift())),l.opts.modal&&(l.opts=n.extend(!0,l.opts,{trapFocus:!0,infobar:0,toolbar:0,smallBtn:0,keyboard:0,slideShow:0,fullScreen:0,thumbs:0,touch:0,clickContent:!1,clickSlide:!1,clickOutside:!1,dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1})),o.group.push(l)}),Object.keys(o.slides).length&&(o.updateControls(),(e=o.Thumbs)&&e.isActive&&(e.create(),e.focus()))},addEvents:function(){var e=this;e.removeEvents(),e.$refs.container.on("click.fb-close","[data-fancybox-close]",function(t){t.stopPropagation(),t.preventDefault(),e.close(t)}).on("touchstart.fb-prev click.fb-prev","[data-fancybox-prev]",function(t){t.stopPropagation(),t.preventDefault(),e.previous()}).on("touchstart.fb-next click.fb-next","[data-fancybox-next]",function(t){t.stopPropagation(),t.preventDefault(),e.next()}).on("click.fb","[data-fancybox-zoom]",function(t){e[e.isScaledDown()?"scaleToActual":"scaleToFit"]()}),s.on("orientationchange.fb resize.fb",function(t){t&&t.originalEvent&&"resize"===t.originalEvent.type?(e.requestId&&u(e.requestId),e.requestId=d(function(){e.update(t)})):(e.current&&"iframe"===e.current.type&&e.$refs.stage.hide(),setTimeout(function(){e.$refs.stage.show(),e.update(t)},n.fancybox.isMobile?600:250))}),r.on("keydown.fb",function(t){var o=n.fancybox?n.fancybox.getInstance():null,i=o.current,a=t.keyCode||t.which;if(9==a)return void(i.opts.trapFocus&&e.focus(t));if(!(!i.opts.keyboard||t.ctrlKey||t.altKey||t.shiftKey||n(t.target).is("input,textarea,video,audio")))return 8===a||27===a?(t.preventDefault(),void e.close(t)):37===a||38===a?(t.preventDefault(),void e.previous()):39===a||40===a?(t.preventDefault(),void e.next()):void e.trigger("afterKeydown",t,a)}),e.group[e.currIndex].opts.idleTime&&(e.idleSecondsCounter=0,r.on("mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",function(t){e.idleSecondsCounter=0,e.isIdle&&e.showControls(),e.isIdle=!1}),e.idleInterval=t.setInterval(function(){++e.idleSecondsCounter>=e.group[e.currIndex].opts.idleTime&&!e.isDragging&&(e.isIdle=!0,e.idleSecondsCounter=0,e.hideControls())},1e3))},removeEvents:function(){var e=this;s.off("orientationchange.fb resize.fb"),r.off("keydown.fb .fb-idle"),this.$refs.container.off(".fb-close .fb-prev .fb-next"),e.idleInterval&&(t.clearInterval(e.idleInterval),e.idleInterval=null)},previous:function(t){return this.jumpTo(this.currPos-1,t)},next:function(t){return this.jumpTo(this.currPos+1,t)},jumpTo:function(t,e){var o,i,a,s,r,c,l,d,u,f=this,h=f.group.length;if(!(f.isDragging||f.isClosing||f.isAnimating&&f.firstRun)){if(t=parseInt(t,10),!(a=f.current?f.current.opts.loop:f.opts.loop)&&(t<0||t>=h))return!1;if(o=f.firstRun=!Object.keys(f.slides).length,r=f.current,f.prevIndex=f.currIndex,f.prevPos=f.currPos,s=f.createSlide(t),h>1&&((a||s.index0)&&f.createSlide(t-1)),f.current=s,f.currIndex=s.index,f.currPos=s.pos,f.trigger("beforeShow",o),f.updateControls(),s.forcedDuration=void 0,n.isNumeric(e)?s.forcedDuration=e:e=s.opts[o?"animationDuration":"transitionDuration"],e=parseInt(e,10),i=f.isMoved(s),s.$slide.addClass("fancybox-slide--current"),o)return s.opts.animationEffect&&e&&f.$refs.container.css("transition-duration",e+"ms"),f.$refs.container.addClass("fancybox-is-open").trigger("focus"),f.loadSlide(s),void f.preload("image");c=n.fancybox.getTranslate(r.$slide),l=n.fancybox.getTranslate(f.$refs.stage),n.each(f.slides,function(t,e){n.fancybox.stop(e.$slide,!0)}),r.pos!==s.pos&&(r.isComplete=!1),r.$slide.removeClass("fancybox-slide--complete fancybox-slide--current"),i?(u=c.left-(r.pos*c.width+r.pos*r.opts.gutter),n.each(f.slides,function(t,o){o.$slide.removeClass("fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")});var i=o.pos*c.width+o.pos*o.opts.gutter;n.fancybox.setTranslate(o.$slide,{top:0,left:i-l.left+u}),o.pos!==s.pos&&o.$slide.addClass("fancybox-slide--"+(o.pos>s.pos?"next":"previous")),p(o.$slide),n.fancybox.animate(o.$slide,{top:0,left:(o.pos-s.pos)*c.width+(o.pos-s.pos)*o.opts.gutter},e,function(){o.$slide.css({transform:"",opacity:""}).removeClass("fancybox-slide--next fancybox-slide--previous"),o.pos===f.currPos&&f.complete()})})):e&&s.opts.transitionEffect&&(d="fancybox-animated fancybox-fx-"+s.opts.transitionEffect,r.$slide.addClass("fancybox-slide--"+(r.pos>s.pos?"next":"previous")),n.fancybox.animate(r.$slide,d,e,function(){r.$slide.removeClass(d).removeClass("fancybox-slide--next fancybox-slide--previous")},!1)),s.isLoaded?f.revealContent(s):f.loadSlide(s),f.preload("image")}},createSlide:function(t){var e,o,i=this;return o=t%i.group.length,o=o<0?i.group.length+o:o,!i.slides[t]&&i.group[o]&&(e=n('
    ').appendTo(i.$refs.stage),i.slides[t]=n.extend(!0,{},i.group[o],{pos:t,$slide:e,isLoaded:!1}),i.updateSlide(i.slides[t])),i.slides[t]},scaleToActual:function(t,e,o){var i,a,s,r,c,l=this,d=l.current,u=d.$content,f=n.fancybox.getTranslate(d.$slide).width,p=n.fancybox.getTranslate(d.$slide).height,h=d.width,g=d.height;l.isAnimating||l.isMoved()||!u||"image"!=d.type||!d.isLoaded||d.hasError||(l.isAnimating=!0,n.fancybox.stop(u),t=void 0===t?.5*f:t,e=void 0===e?.5*p:e,i=n.fancybox.getTranslate(u),i.top-=n.fancybox.getTranslate(d.$slide).top,i.left-=n.fancybox.getTranslate(d.$slide).left,r=h/i.width,c=g/i.height,a=.5*f-.5*h,s=.5*p-.5*g,h>f&&(a=i.left*r-(t*r-t),a>0&&(a=0),ap&&(s=i.top*c-(e*c-e),s>0&&(s=0),se-.5&&(l=e),d>o-.5&&(d=o),"image"===t.type?(u.top=Math.floor(.5*(o-d))+parseFloat(c.css("paddingTop")),u.left=Math.floor(.5*(e-l))+parseFloat(c.css("paddingLeft"))):"video"===t.contentType&&(a=t.opts.width&&t.opts.height?l/d:t.opts.ratio||16/9,d>l/a?d=l/a:l>d*a&&(l=d*a)),u.width=l,u.height=d,u)},update:function(t){var e=this;n.each(e.slides,function(n,o){e.updateSlide(o,t)})},updateSlide:function(t,e){var o=this,i=t&&t.$content,a=t.width||t.opts.width,s=t.height||t.opts.height,r=t.$slide;o.adjustCaption(t),i&&(a||s||"video"===t.contentType)&&!t.hasError&&(n.fancybox.stop(i),n.fancybox.setTranslate(i,o.getFitPos(t)),t.pos===o.currPos&&(o.isAnimating=!1,o.updateCursor())),o.adjustLayout(t),r.length&&(r.trigger("refresh"),t.pos===o.currPos&&o.$refs.toolbar.add(o.$refs.navigation.find(".fancybox-button--arrow_right")).toggleClass("compensate-for-scrollbar",r.get(0).scrollHeight>r.get(0).clientHeight)),o.trigger("onUpdate",t,e)},centerSlide:function(t){var e=this,o=e.current,i=o.$slide;!e.isClosing&&o&&(i.siblings().css({transform:"",opacity:""}),i.parent().children().removeClass("fancybox-slide--previous fancybox-slide--next"),n.fancybox.animate(i,{top:0,left:0,opacity:1},void 0===t?0:t,function(){i.css({transform:"",opacity:""}),o.isComplete||e.complete()},!1))},isMoved:function(t){var e,o,i=t||this.current;return!!i&&(o=n.fancybox.getTranslate(this.$refs.stage),e=n.fancybox.getTranslate(i.$slide),!i.$slide.hasClass("fancybox-animated")&&(Math.abs(e.top-o.top)>.5||Math.abs(e.left-o.left)>.5))},updateCursor:function(t,e){var o,i,a=this,s=a.current,r=a.$refs.container;s&&!a.isClosing&&a.Guestures&&(r.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan"),o=a.canPan(t,e),i=!!o||a.isZoomable(),r.toggleClass("fancybox-is-zoomable",i),n("[data-fancybox-zoom]").prop("disabled",!i),o?r.addClass("fancybox-can-pan"):i&&("zoom"===s.opts.clickContent||n.isFunction(s.opts.clickContent)&&"zoom"==s.opts.clickContent(s))?r.addClass("fancybox-can-zoomIn"):s.opts.touch&&(s.opts.touch.vertical||a.group.length>1)&&"video"!==s.contentType&&r.addClass("fancybox-can-swipe"))},isZoomable:function(){var t,e=this,n=e.current;if(n&&!e.isClosing&&"image"===n.type&&!n.hasError){if(!n.isLoaded)return!0;if((t=e.getFitPos(n))&&(n.width>t.width||n.height>t.height))return!0}return!1},isScaledDown:function(t,e){var o=this,i=!1,a=o.current,s=a.$content;return void 0!==t&&void 0!==e?i=t1.5||Math.abs(a.height-s.height)>1.5)),s},loadSlide:function(t){var e,o,i,a=this;if(!t.isLoading&&!t.isLoaded){if(t.isLoading=!0,!1===a.trigger("beforeLoad",t))return t.isLoading=!1,!1;switch(e=t.type,o=t.$slide,o.off("refresh").trigger("onReset").addClass(t.opts.slideClass),e){case"image":a.setImage(t);break;case"iframe":a.setIframe(t);break;case"html":a.setContent(t,t.src||t.content);break;case"video":a.setContent(t,t.opts.video.tpl.replace(/\{\{src\}\}/gi,t.src).replace("{{format}}",t.opts.videoFormat||t.opts.video.format||"").replace("{{poster}}",t.thumb||""));break;case"inline":n(t.src).length?a.setContent(t,n(t.src)):a.setError(t);break;case"ajax":a.showLoading(t),i=n.ajax(n.extend({},t.opts.ajax.settings,{url:t.src,success:function(e,n){"success"===n&&a.setContent(t,e)},error:function(e,n){e&&"abort"!==n&&a.setError(t)}})),o.one("onReset",function(){i.abort()});break;default:a.setError(t)}return!0}},setImage:function(t){var o,i=this;setTimeout(function(){var e=t.$image;i.isClosing||!t.isLoading||e&&e.length&&e[0].complete||t.hasError||i.showLoading(t)},50),i.checkSrcset(t),t.$content=n('
    ').addClass("fancybox-is-hidden").appendTo(t.$slide.addClass("fancybox-slide--image")),!1!==t.opts.preload&&t.opts.width&&t.opts.height&&t.thumb&&(t.width=t.opts.width,t.height=t.opts.height,o=e.createElement("img"),o.onerror=function(){n(this).remove(),t.$ghost=null},o.onload=function(){i.afterLoad(t)},t.$ghost=n(o).addClass("fancybox-image").appendTo(t.$content).attr("src",t.thumb)),i.setBigImage(t)},checkSrcset:function(e){var n,o,i,a,s=e.opts.srcset||e.opts.image.srcset;if(s){i=t.devicePixelRatio||1,a=t.innerWidth*i,o=s.split(",").map(function(t){var e={};return t.trim().split(/\s+/).forEach(function(t,n){var o=parseInt(t.substring(0,t.length-1),10);if(0===n)return e.url=t;o&&(e.value=o,e.postfix=t[t.length-1])}),e}),o.sort(function(t,e){return t.value-e.value});for(var r=0;r=a||"x"===c.postfix&&c.value>=i){n=c;break}}!n&&o.length&&(n=o[o.length-1]),n&&(e.src=n.url,e.width&&e.height&&"w"==n.postfix&&(e.height=e.width/e.height*n.value,e.width=n.value),e.opts.srcset=s)}},setBigImage:function(t){var o=this,i=e.createElement("img"),a=n(i);t.$image=a.one("error",function(){o.setError(t)}).one("load",function(){var e;t.$ghost||(o.resolveImageSlideSize(t,this.naturalWidth,this.naturalHeight),o.afterLoad(t)),o.isClosing||(t.opts.srcset&&(e=t.opts.sizes,e&&"auto"!==e||(e=(t.width/t.height>1&&s.width()/s.height()>1?"100":Math.round(t.width/t.height*100))+"vw"),a.attr("sizes",e).attr("srcset",t.opts.srcset)),t.$ghost&&setTimeout(function(){t.$ghost&&!o.isClosing&&t.$ghost.hide()},Math.min(300,Math.max(1e3,t.height/1600))),o.hideLoading(t))}).addClass("fancybox-image").attr("src",t.src).appendTo(t.$content),(i.complete||"complete"==i.readyState)&&a.naturalWidth&&a.naturalHeight?a.trigger("load"):i.error&&a.trigger("error")},resolveImageSlideSize:function(t,e,n){var o=parseInt(t.opts.width,10),i=parseInt(t.opts.height,10);t.width=e,t.height=n,o>0&&(t.width=o,t.height=Math.floor(o*n/e)),i>0&&(t.width=Math.floor(i*e/n),t.height=i)},setIframe:function(t){var e,o=this,i=t.opts.iframe,a=t.$slide;t.$content=n('
    ').css(i.css).appendTo(a),a.addClass("fancybox-slide--"+t.contentType),t.$iframe=e=n(i.tpl.replace(/\{rnd\}/g,(new Date).getTime())).attr(i.attr).appendTo(t.$content),i.preload?(o.showLoading(t),e.on("load.fb error.fb",function(e){this.isReady=1,t.$slide.trigger("refresh"),o.afterLoad(t)}),a.on("refresh.fb",function(){var n,o,s=t.$content,r=i.css.width,c=i.css.height;if(1===e[0].isReady){try{n=e.contents(),o=n.find("body")}catch(t){}o&&o.length&&o.children().length&&(a.css("overflow","visible"),s.css({width:"100%","max-width":"100%",height:"9999px"}),void 0===r&&(r=Math.ceil(Math.max(o[0].clientWidth,o.outerWidth(!0)))),s.css("width",r||"").css("max-width",""),void 0===c&&(c=Math.ceil(Math.max(o[0].clientHeight,o.outerHeight(!0)))),s.css("height",c||""),a.css("overflow","auto")),s.removeClass("fancybox-is-hidden")}})):o.afterLoad(t),e.attr("src",t.src),a.one("onReset",function(){try{n(this).find("iframe").hide().unbind().attr("src","//about:blank")}catch(t){}n(this).off("refresh.fb").empty(),t.isLoaded=!1,t.isRevealed=!1})},setContent:function(t,e){var o=this;o.isClosing||(o.hideLoading(t),t.$content&&n.fancybox.stop(t.$content),t.$slide.empty(),l(e)&&e.parent().length?((e.hasClass("fancybox-content")||e.parent().hasClass("fancybox-content"))&&e.parents(".fancybox-slide").trigger("onReset"),t.$placeholder=n("
    ").hide().insertAfter(e),e.css("display","inline-block")):t.hasError||("string"===n.type(e)&&(e=n("
    ").append(n.trim(e)).contents()),t.opts.filter&&(e=n("
    ").html(e).find(t.opts.filter))),t.$slide.one("onReset",function(){n(this).find("video,audio").trigger("pause"),t.$placeholder&&(t.$placeholder.after(e.removeClass("fancybox-content").hide()).remove(),t.$placeholder=null),t.$smallBtn&&(t.$smallBtn.remove(),t.$smallBtn=null),t.hasError||(n(this).empty(),t.isLoaded=!1,t.isRevealed=!1)}),n(e).appendTo(t.$slide),n(e).is("video,audio")&&(n(e).addClass("fancybox-video"),n(e).wrap("
    "),t.contentType="video",t.opts.width=t.opts.width||n(e).attr("width"),t.opts.height=t.opts.height||n(e).attr("height")),t.$content=t.$slide.children().filter("div,form,main,video,audio,article,.fancybox-content").first(),t.$content.siblings().hide(),t.$content.length||(t.$content=t.$slide.wrapInner("
    ").children().first()),t.$content.addClass("fancybox-content"),t.$slide.addClass("fancybox-slide--"+t.contentType),o.afterLoad(t))},setError:function(t){t.hasError=!0,t.$slide.trigger("onReset").removeClass("fancybox-slide--"+t.contentType).addClass("fancybox-slide--error"),t.contentType="html",this.setContent(t,this.translate(t,t.opts.errorTpl)),t.pos===this.currPos&&(this.isAnimating=!1)},showLoading:function(t){var e=this;(t=t||e.current)&&!t.$spinner&&(t.$spinner=n(e.translate(e,e.opts.spinnerTpl)).appendTo(t.$slide).hide().fadeIn("fast"))},hideLoading:function(t){var e=this;(t=t||e.current)&&t.$spinner&&(t.$spinner.stop().remove(),delete t.$spinner)},afterLoad:function(t){var e=this;e.isClosing||(t.isLoading=!1,t.isLoaded=!0,e.trigger("afterLoad",t),e.hideLoading(t),!t.opts.smallBtn||t.$smallBtn&&t.$smallBtn.length||(t.$smallBtn=n(e.translate(t,t.opts.btnTpl.smallBtn)).appendTo(t.$content)),t.opts.protect&&t.$content&&!t.hasError&&(t.$content.on("contextmenu.fb",function(t){return 2==t.button&&t.preventDefault(),!0}),"image"===t.type&&n('
    ').appendTo(t.$content)),e.adjustCaption(t),e.adjustLayout(t),t.pos===e.currPos&&e.updateCursor(),e.revealContent(t))},adjustCaption:function(t){var e,n=this,o=t||n.current,i=o.opts.caption,a=o.opts.preventCaptionOverlap,s=n.$refs.caption,r=!1;s.toggleClass("fancybox-caption--separate",a),a&&i&&i.length&&(o.pos!==n.currPos?(e=s.clone().appendTo(s.parent()),e.children().eq(0).empty().html(i),r=e.outerHeight(!0),e.empty().remove()):n.$caption&&(r=n.$caption.outerHeight(!0)),o.$slide.css("padding-bottom",r||""))},adjustLayout:function(t){var e,n,o,i,a=this,s=t||a.current;s.isLoaded&&!0!==s.opts.disableLayoutFix&&(s.$content.css("margin-bottom",""),s.$content.outerHeight()>s.$slide.height()+.5&&(o=s.$slide[0].style["padding-bottom"],i=s.$slide.css("padding-bottom"),parseFloat(i)>0&&(e=s.$slide[0].scrollHeight,s.$slide.css("padding-bottom",0),Math.abs(e-s.$slide[0].scrollHeight)<1&&(n=i),s.$slide.css("padding-bottom",o))),s.$content.css("margin-bottom",n))},revealContent:function(t){var e,o,i,a,s=this,r=t.$slide,c=!1,l=!1,d=s.isMoved(t),u=t.isRevealed;return t.isRevealed=!0,e=t.opts[s.firstRun?"animationEffect":"transitionEffect"],i=t.opts[s.firstRun?"animationDuration":"transitionDuration"],i=parseInt(void 0===t.forcedDuration?i:t.forcedDuration,10),!d&&t.pos===s.currPos&&i||(e=!1),"zoom"===e&&(t.pos===s.currPos&&i&&"image"===t.type&&!t.hasError&&(l=s.getThumbPos(t))?c=s.getFitPos(t):e="fade"),"zoom"===e?(s.isAnimating=!0,c.scaleX=c.width/l.width,c.scaleY=c.height/l.height,a=t.opts.zoomOpacity,"auto"==a&&(a=Math.abs(t.width/t.height-l.width/l.height)>.1),a&&(l.opacity=.1,c.opacity=1),n.fancybox.setTranslate(t.$content.removeClass("fancybox-is-hidden"),l),p(t.$content),void n.fancybox.animate(t.$content,c,i,function(){s.isAnimating=!1,s.complete()})):(s.updateSlide(t),e?(n.fancybox.stop(r),o="fancybox-slide--"+(t.pos>=s.prevPos?"next":"previous")+" fancybox-animated fancybox-fx-"+e,r.addClass(o).removeClass("fancybox-slide--current"),t.$content.removeClass("fancybox-is-hidden"),p(r),"image"!==t.type&&t.$content.hide().show(0),void n.fancybox.animate(r,"fancybox-slide--current",i,function(){r.removeClass(o).css({transform:"",opacity:""}),t.pos===s.currPos&&s.complete()},!0)):(t.$content.removeClass("fancybox-is-hidden"),u||!d||"image"!==t.type||t.hasError||t.$content.hide().fadeIn("fast"),void(t.pos===s.currPos&&s.complete())))},getThumbPos:function(t){var e,o,i,a,s,r=!1,c=t.$thumb;return!(!c||!g(c[0]))&&(e=n.fancybox.getTranslate(c),o=parseFloat(c.css("border-top-width")||0),i=parseFloat(c.css("border-right-width")||0),a=parseFloat(c.css("border-bottom-width")||0),s=parseFloat(c.css("border-left-width")||0),r={top:e.top+o,left:e.left+s,width:e.width-i-s,height:e.height-o-a,scaleX:1,scaleY:1},e.width>0&&e.height>0&&r)},complete:function(){var t,e=this,o=e.current,i={};!e.isMoved()&&o.isLoaded&&(o.isComplete||(o.isComplete=!0,o.$slide.siblings().trigger("onReset"),e.preload("inline"),p(o.$slide),o.$slide.addClass("fancybox-slide--complete"),n.each(e.slides,function(t,o){o.pos>=e.currPos-1&&o.pos<=e.currPos+1?i[o.pos]=o:o&&(n.fancybox.stop(o.$slide),o.$slide.off().remove())}),e.slides=i),e.isAnimating=!1,e.updateCursor(),e.trigger("afterShow"),o.opts.video.autoStart&&o.$slide.find("video,audio").filter(":visible:first").trigger("play").one("ended",function(){this.webkitExitFullscreen&&this.webkitExitFullscreen(),e.next()}),o.opts.autoFocus&&"html"===o.contentType&&(t=o.$content.find("input[autofocus]:enabled:visible:first"),t.length?t.trigger("focus"):e.focus(null,!0)),o.$slide.scrollTop(0).scrollLeft(0))},preload:function(t){var e,n,o=this;o.group.length<2||(n=o.slides[o.currPos+1],e=o.slides[o.currPos-1],e&&e.type===t&&o.loadSlide(e),n&&n.type===t&&o.loadSlide(n))},focus:function(t,o){var i,a,s=this,r=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","video","audio","[contenteditable]",'[tabindex]:not([tabindex^="-"])'].join(",");s.isClosing||(i=!t&&s.current&&s.current.isComplete?s.current.$slide.find("*:visible"+(o?":not(.fancybox-close-small)":"")):s.$refs.container.find("*:visible"),i=i.filter(r).filter(function(){return"hidden"!==n(this).css("visibility")&&!n(this).hasClass("disabled")}),i.length?(a=i.index(e.activeElement),t&&t.shiftKey?(a<0||0==a)&&(t.preventDefault(),i.eq(i.length-1).trigger("focus")):(a<0||a==i.length-1)&&(t&&t.preventDefault(),i.eq(0).trigger("focus"))):s.$refs.container.trigger("focus"))},activate:function(){var t=this;n(".fancybox-container").each(function(){var e=n(this).data("FancyBox");e&&e.id!==t.id&&!e.isClosing&&(e.trigger("onDeactivate"),e.removeEvents(),e.isVisible=!1)}),t.isVisible=!0,(t.current||t.isIdle)&&(t.update(),t.updateControls()),t.trigger("onActivate"),t.addEvents()},close:function(t,e){var o,i,a,s,r,c,l,u=this,f=u.current,h=function(){u.cleanUp(t)};return!u.isClosing&&(u.isClosing=!0,!1===u.trigger("beforeClose",t)?(u.isClosing=!1,d(function(){u.update()}),!1):(u.removeEvents(),a=f.$content,o=f.opts.animationEffect,i=n.isNumeric(e)?e:o?f.opts.animationDuration:0,f.$slide.removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"),!0!==t?n.fancybox.stop(f.$slide):o=!1,f.$slide.siblings().trigger("onReset").remove(),i&&u.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing").css("transition-duration",i+"ms"),u.hideLoading(f),u.hideControls(!0),u.updateCursor(),"zoom"!==o||a&&i&&"image"===f.type&&!u.isMoved()&&!f.hasError&&(l=u.getThumbPos(f))||(o="fade"),"zoom"===o?(n.fancybox.stop(a),s=n.fancybox.getTranslate(a),c={top:s.top,left:s.left,scaleX:s.width/l.width,scaleY:s.height/l.height,width:l.width,height:l.height},r=f.opts.zoomOpacity,"auto"==r&&(r=Math.abs(f.width/f.height-l.width/l.height)>.1),r&&(l.opacity=0), n.fancybox.setTranslate(a,c),p(a),n.fancybox.animate(a,l,i,h),!0):(o&&i?n.fancybox.animate(f.$slide.addClass("fancybox-slide--previous").removeClass("fancybox-slide--current"),"fancybox-animated fancybox-fx-"+o,i,h):!0===t?setTimeout(h,i):h(),!0)))},cleanUp:function(e){var o,i,a,s=this,r=s.current.opts.$orig;s.current.$slide.trigger("onReset"),s.$refs.container.empty().remove(),s.trigger("afterClose",e),s.current.opts.backFocus&&(r&&r.length&&r.is(":visible")||(r=s.$trigger),r&&r.length&&(i=t.scrollX,a=t.scrollY,r.trigger("focus"),n("html, body").scrollTop(a).scrollLeft(i))),s.current=null,o=n.fancybox.getInstance(),o?o.activate():(n("body").removeClass("fancybox-active compensate-for-scrollbar"),n("#fancybox-style-noscroll").remove())},trigger:function(t,e){var o,i=Array.prototype.slice.call(arguments,1),a=this,s=e&&e.opts?e:a.current;if(s?i.unshift(s):s=a,i.unshift(a),n.isFunction(s.opts[t])&&(o=s.opts[t].apply(s,i)),!1===o)return o;"afterClose"!==t&&a.$refs?a.$refs.container.trigger(t+".fb",i):r.trigger(t+".fb",i)},updateControls:function(){var t=this,o=t.current,i=o.index,a=t.$refs.container,s=t.$refs.caption,r=o.opts.caption;o.$slide.trigger("refresh"),r&&r.length?(t.$caption=s,s.children().eq(0).html(r)):t.$caption=null,t.hasHiddenControls||t.isIdle||t.showControls(),a.find("[data-fancybox-count]").html(t.group.length),a.find("[data-fancybox-index]").html(i+1),a.find("[data-fancybox-prev]").prop("disabled",!o.opts.loop&&i<=0),a.find("[data-fancybox-next]").prop("disabled",!o.opts.loop&&i>=t.group.length-1),"image"===o.type?a.find("[data-fancybox-zoom]").show().end().find("[data-fancybox-download]").attr("href",o.opts.image.src||o.src).show():o.opts.toolbar&&a.find("[data-fancybox-download],[data-fancybox-zoom]").hide(),n(e.activeElement).is(":hidden,[disabled]")&&t.$refs.container.trigger("focus")},hideControls:function(t){var e=this,n=["infobar","toolbar","nav"];!t&&e.current.opts.preventCaptionOverlap||n.push("caption"),this.$refs.container.removeClass(n.map(function(t){return"fancybox-show-"+t}).join(" ")),this.hasHiddenControls=!0},showControls:function(){var t=this,e=t.current?t.current.opts:t.opts,n=t.$refs.container;t.hasHiddenControls=!1,t.idleSecondsCounter=0,n.toggleClass("fancybox-show-toolbar",!(!e.toolbar||!e.buttons)).toggleClass("fancybox-show-infobar",!!(e.infobar&&t.group.length>1)).toggleClass("fancybox-show-caption",!!t.$caption).toggleClass("fancybox-show-nav",!!(e.arrows&&t.group.length>1)).toggleClass("fancybox-is-modal",!!e.modal)},toggleControls:function(){this.hasHiddenControls?this.showControls():this.hideControls()}}),n.fancybox={version:"3.5.6",defaults:a,getInstance:function(t){var e=n('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"),o=Array.prototype.slice.call(arguments,1);return e instanceof b&&("string"===n.type(t)?e[t].apply(e,o):"function"===n.type(t)&&t.apply(e,o),e)},open:function(t,e,n){return new b(t,e,n)},close:function(t){var e=this.getInstance();e&&(e.close(),!0===t&&this.close(t))},destroy:function(){this.close(!0),r.add("body").off("click.fb-start","**")},isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),use3d:function(){var n=e.createElement("div");return t.getComputedStyle&&t.getComputedStyle(n)&&t.getComputedStyle(n).getPropertyValue("transform")&&!(e.documentMode&&e.documentMode<11)}(),getTranslate:function(t){var e;return!(!t||!t.length)&&(e=t[0].getBoundingClientRect(),{top:e.top||0,left:e.left||0,width:e.width,height:e.height,opacity:parseFloat(t.css("opacity"))})},setTranslate:function(t,e){var n="",o={};if(t&&e)return void 0===e.left&&void 0===e.top||(n=(void 0===e.left?t.position().left:e.left)+"px, "+(void 0===e.top?t.position().top:e.top)+"px",n=this.use3d?"translate3d("+n+", 0px)":"translate("+n+")"),void 0!==e.scaleX&&void 0!==e.scaleY?n+=" scale("+e.scaleX+", "+e.scaleY+")":void 0!==e.scaleX&&(n+=" scaleX("+e.scaleX+")"),n.length&&(o.transform=n),void 0!==e.opacity&&(o.opacity=e.opacity),void 0!==e.width&&(o.width=e.width),void 0!==e.height&&(o.height=e.height),t.css(o)},animate:function(t,e,o,i,a){var s,r=this;n.isFunction(o)&&(i=o,o=null),r.stop(t),s=r.getTranslate(t),t.on(f,function(c){(!c||!c.originalEvent||t.is(c.originalEvent.target)&&"z-index"!=c.originalEvent.propertyName)&&(r.stop(t),n.isNumeric(o)&&t.css("transition-duration",""),n.isPlainObject(e)?void 0!==e.scaleX&&void 0!==e.scaleY&&r.setTranslate(t,{top:e.top,left:e.left,width:s.width*e.scaleX,height:s.height*e.scaleY,scaleX:1,scaleY:1}):!0!==a&&t.removeClass(e),n.isFunction(i)&&i(c))}),n.isNumeric(o)&&t.css("transition-duration",o+"ms"),n.isPlainObject(e)?(void 0!==e.scaleX&&void 0!==e.scaleY&&(delete e.width,delete e.height,t.parent().hasClass("fancybox-slide--image")&&t.parent().addClass("fancybox-is-scaling")),n.fancybox.setTranslate(t,e)):t.addClass(e),t.data("timer",setTimeout(function(){t.trigger(f)},o+33))},stop:function(t,e){t&&t.length&&(clearTimeout(t.data("timer")),e&&t.trigger(f),t.off(f).css("transition-duration",""),t.parent().removeClass("fancybox-is-scaling"))}},n.fn.fancybox=function(t){var e;return t=t||{},e=t.selector||!1,e?n("body").off("click.fb-start",e).on("click.fb-start",e,{options:t},i):this.off("click.fb-start").on("click.fb-start",{items:this,options:t},i),this},r.on("click.fb-start","[data-fancybox]",i),r.on("click.fb-start","[data-fancybox-trigger]",function(t){n('[data-fancybox="'+n(this).attr("data-fancybox-trigger")+'"]').eq(n(this).attr("data-fancybox-index")||0).trigger("click.fb-start",{$trigger:n(this)})}),function(){var t=null;r.on("mousedown mouseup focus blur",".fancybox-button",function(e){switch(e.type){case"mousedown":t=n(this);break;case"mouseup":t=null;break;case"focusin":n(".fancybox-button").removeClass("fancybox-focus"),n(this).is(t)||n(this).is("[disabled]")||n(this).addClass("fancybox-focus");break;case"focusout":n(".fancybox-button").removeClass("fancybox-focus")}})}()}}(window,document,jQuery),function(t){"use strict";var e={youtube:{matcher:/(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,params:{autoplay:1,autohide:1,fs:1,rel:0,hd:1,wmode:"transparent",enablejsapi:1,html5:1},paramPlace:8,type:"iframe",url:"https://www.youtube-nocookie.com/embed/$4",thumb:"https://img.youtube.com/vi/$4/hqdefault.jpg"},vimeo:{matcher:/^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,params:{autoplay:1,hd:1,show_title:1,show_byline:1,show_portrait:0,fullscreen:1},paramPlace:3,type:"iframe",url:"//player.vimeo.com/video/$2"},instagram:{matcher:/(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,type:"image",url:"//$1/p/$2/media/?size=l"},gmap_place:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/?ll="+(t[9]?t[9]+"&z="+Math.floor(t[10])+(t[12]?t[12].replace(/^\//,"&"):""):t[12]+"").replace(/\?/,"&")+"&output="+(t[12]&&t[12].indexOf("layer=c")>0?"svembed":"embed")}},gmap_search:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/maps?q="+t[5].replace("query=","q=").replace("api=1","")+"&output=embed"}}},n=function(e,n,o){if(e)return o=o||"","object"===t.type(o)&&(o=t.param(o,!0)),t.each(n,function(t,n){e=e.replace("$"+t,n||"")}),o.length&&(e+=(e.indexOf("?")>0?"&":"?")+o),e};t(document).on("objectNeedsType.fb",function(o,i,a){var s,r,c,l,d,u,f,p=a.src||"",h=!1;s=t.extend(!0,{},e,a.opts.media),t.each(s,function(e,o){if(c=p.match(o.matcher)){if(h=o.type,f=e,u={},o.paramPlace&&c[o.paramPlace]){d=c[o.paramPlace],"?"==d[0]&&(d=d.substring(1)),d=d.split("&");for(var i=0;i1&&("youtube"===n.contentSource||"vimeo"===n.contentSource)&&o.load(n.contentSource)}})}(jQuery),function(t,e,n){"use strict";var o=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),i=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e)}}(),a=function(e){var n=[];e=e.originalEvent||e||t.e,e=e.touches&&e.touches.length?e.touches:e.changedTouches&&e.changedTouches.length?e.changedTouches:[e];for(var o in e)e[o].pageX?n.push({x:e[o].pageX,y:e[o].pageY}):e[o].clientX&&n.push({x:e[o].clientX,y:e[o].clientY});return n},s=function(t,e,n){return e&&t?"x"===n?t.x-e.x:"y"===n?t.y-e.y:Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)):0},r=function(t){if(t.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe')||n.isFunction(t.get(0).onclick)||t.data("selectable"))return!0;for(var e=0,o=t[0].attributes,i=o.length;ee.clientHeight,a=("scroll"===o||"auto"===o)&&e.scrollWidth>e.clientWidth;return i||a},l=function(t){for(var e=!1;;){if(e=c(t.get(0)))break;if(t=t.parent(),!t.length||t.hasClass("fancybox-stage")||t.is("body"))break}return e},d=function(t){var e=this;e.instance=t,e.$bg=t.$refs.bg,e.$stage=t.$refs.stage,e.$container=t.$refs.container,e.destroy(),e.$container.on("touchstart.fb.touch mousedown.fb.touch",n.proxy(e,"ontouchstart"))};d.prototype.destroy=function(){var t=this;t.$container.off(".fb.touch"),n(e).off(".fb.touch"),t.requestId&&(i(t.requestId),t.requestId=null),t.tapped&&(clearTimeout(t.tapped),t.tapped=null)},d.prototype.ontouchstart=function(o){var i=this,c=n(o.target),d=i.instance,u=d.current,f=u.$slide,p=u.$content,h="touchstart"==o.type;if(h&&i.$container.off("mousedown.fb.touch"),(!o.originalEvent||2!=o.originalEvent.button)&&f.length&&c.length&&!r(c)&&!r(c.parent())&&(c.is("img")||!(o.originalEvent.clientX>c[0].clientWidth+c.offset().left))){if(!u||d.isAnimating||u.$slide.hasClass("fancybox-animated"))return o.stopPropagation(),void o.preventDefault();i.realPoints=i.startPoints=a(o),i.startPoints.length&&(u.touch&&o.stopPropagation(),i.startEvent=o,i.canTap=!0,i.$target=c,i.$content=p,i.opts=u.opts.touch,i.isPanning=!1,i.isSwiping=!1,i.isZooming=!1,i.isScrolling=!1,i.canPan=d.canPan(),i.startTime=(new Date).getTime(),i.distanceX=i.distanceY=i.distance=0,i.canvasWidth=Math.round(f[0].clientWidth),i.canvasHeight=Math.round(f[0].clientHeight),i.contentLastPos=null,i.contentStartPos=n.fancybox.getTranslate(i.$content)||{top:0,left:0},i.sliderStartPos=n.fancybox.getTranslate(f),i.stagePos=n.fancybox.getTranslate(d.$refs.stage),i.sliderStartPos.top-=i.stagePos.top,i.sliderStartPos.left-=i.stagePos.left,i.contentStartPos.top-=i.stagePos.top,i.contentStartPos.left-=i.stagePos.left,n(e).off(".fb.touch").on(h?"touchend.fb.touch touchcancel.fb.touch":"mouseup.fb.touch mouseleave.fb.touch",n.proxy(i,"ontouchend")).on(h?"touchmove.fb.touch":"mousemove.fb.touch",n.proxy(i,"ontouchmove")),n.fancybox.isMobile&&e.addEventListener("scroll",i.onscroll,!0),((i.opts||i.canPan)&&(c.is(i.$stage)||i.$stage.find(c).length)||(c.is(".fancybox-image")&&o.preventDefault(),n.fancybox.isMobile&&c.parents(".fancybox-caption").length))&&(i.isScrollable=l(c)||l(c.parent()),n.fancybox.isMobile&&i.isScrollable||o.preventDefault(),(1===i.startPoints.length||u.hasError)&&(i.canPan?(n.fancybox.stop(i.$content),i.isPanning=!0):i.isSwiping=!0,i.$container.addClass("fancybox-is-grabbing")),2===i.startPoints.length&&"image"===u.type&&(u.isLoaded||u.$ghost)&&(i.canTap=!1,i.isSwiping=!1,i.isPanning=!1,i.isZooming=!0,n.fancybox.stop(i.$content),i.centerPointStartX=.5*(i.startPoints[0].x+i.startPoints[1].x)-n(t).scrollLeft(),i.centerPointStartY=.5*(i.startPoints[0].y+i.startPoints[1].y)-n(t).scrollTop(),i.percentageOfImageAtPinchPointX=(i.centerPointStartX-i.contentStartPos.left)/i.contentStartPos.width,i.percentageOfImageAtPinchPointY=(i.centerPointStartY-i.contentStartPos.top)/i.contentStartPos.height,i.startDistanceBetweenFingers=s(i.startPoints[0],i.startPoints[1]))))}},d.prototype.onscroll=function(t){var n=this;n.isScrolling=!0,e.removeEventListener("scroll",n.onscroll,!0)},d.prototype.ontouchmove=function(t){var e=this;return void 0!==t.originalEvent.buttons&&0===t.originalEvent.buttons?void e.ontouchend(t):e.isScrolling?void(e.canTap=!1):(e.newPoints=a(t),void((e.opts||e.canPan)&&e.newPoints.length&&e.newPoints.length&&(e.isSwiping&&!0===e.isSwiping||t.preventDefault(),e.distanceX=s(e.newPoints[0],e.startPoints[0],"x"),e.distanceY=s(e.newPoints[0],e.startPoints[0],"y"),e.distance=s(e.newPoints[0],e.startPoints[0]),e.distance>0&&(e.isSwiping?e.onSwipe(t):e.isPanning?e.onPan():e.isZooming&&e.onZoom()))))},d.prototype.onSwipe=function(e){var a,s=this,r=s.instance,c=s.isSwiping,l=s.sliderStartPos.left||0;if(!0!==c)"x"==c&&(s.distanceX>0&&(s.instance.group.length<2||0===s.instance.current.index&&!s.instance.current.opts.loop)?l+=Math.pow(s.distanceX,.8):s.distanceX<0&&(s.instance.group.length<2||s.instance.current.index===s.instance.group.length-1&&!s.instance.current.opts.loop)?l-=Math.pow(-s.distanceX,.8):l+=s.distanceX),s.sliderLastPos={top:"x"==c?0:s.sliderStartPos.top+s.distanceY,left:l},s.requestId&&(i(s.requestId),s.requestId=null),s.requestId=o(function(){s.sliderLastPos&&(n.each(s.instance.slides,function(t,e){var o=e.pos-s.instance.currPos;n.fancybox.setTranslate(e.$slide,{top:s.sliderLastPos.top,left:s.sliderLastPos.left+o*s.canvasWidth+o*e.opts.gutter})}),s.$container.addClass("fancybox-is-sliding"))});else if(Math.abs(s.distance)>10){if(s.canTap=!1,r.group.length<2&&s.opts.vertical?s.isSwiping="y":r.isDragging||!1===s.opts.vertical||"auto"===s.opts.vertical&&n(t).width()>800?s.isSwiping="x":(a=Math.abs(180*Math.atan2(s.distanceY,s.distanceX)/Math.PI),s.isSwiping=a>45&&a<135?"y":"x"),"y"===s.isSwiping&&n.fancybox.isMobile&&s.isScrollable)return void(s.isScrolling=!0);r.isDragging=s.isSwiping,s.startPoints=s.newPoints,n.each(r.slides,function(t,e){var o,i;n.fancybox.stop(e.$slide),o=n.fancybox.getTranslate(e.$slide),i=n.fancybox.getTranslate(r.$refs.stage),e.$slide.css({transform:"",opacity:"","transition-duration":""}).removeClass("fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")}),e.pos===r.current.pos&&(s.sliderStartPos.top=o.top-i.top,s.sliderStartPos.left=o.left-i.left),n.fancybox.setTranslate(e.$slide,{top:o.top-i.top,left:o.left-i.left})}),r.SlideShow&&r.SlideShow.isActive&&r.SlideShow.stop()}},d.prototype.onPan=function(){var t=this;if(s(t.newPoints[0],t.realPoints[0])<(n.fancybox.isMobile?10:5))return void(t.startPoints=t.newPoints);t.canTap=!1,t.contentLastPos=t.limitMovement(),t.requestId&&i(t.requestId),t.requestId=o(function(){n.fancybox.setTranslate(t.$content,t.contentLastPos)})},d.prototype.limitMovement=function(){var t,e,n,o,i,a,s=this,r=s.canvasWidth,c=s.canvasHeight,l=s.distanceX,d=s.distanceY,u=s.contentStartPos,f=u.left,p=u.top,h=u.width,g=u.height;return i=h>r?f+l:f,a=p+d,t=Math.max(0,.5*r-.5*h),e=Math.max(0,.5*c-.5*g),n=Math.min(r-h,.5*r-.5*h),o=Math.min(c-g,.5*c-.5*g),l>0&&i>t&&(i=t-1+Math.pow(-t+f+l,.8)||0),l<0&&i0&&a>e&&(a=e-1+Math.pow(-e+p+d,.8)||0),d<0&&aa?(t=t>0?0:t,t=ts?(e=e>0?0:e,e=e1&&(o.dMs>130&&s>10||s>50);o.sliderLastPos=null,"y"==t&&!e&&Math.abs(o.distanceY)>50?(n.fancybox.animate(o.instance.current.$slide,{top:o.sliderStartPos.top+o.distanceY+150*o.velocityY,opacity:0},200),i=o.instance.close(!0,250)):r&&o.distanceX>0?i=o.instance.previous(300):r&&o.distanceX<0&&(i=o.instance.next(300)),!1!==i||"x"!=t&&"y"!=t||o.instance.centerSlide(200),o.$container.removeClass("fancybox-is-sliding")},d.prototype.endPanning=function(){var t,e,o,i=this;i.contentLastPos&&(!1===i.opts.momentum||i.dMs>350?(t=i.contentLastPos.left,e=i.contentLastPos.top):(t=i.contentLastPos.left+500*i.velocityX,e=i.contentLastPos.top+500*i.velocityY),o=i.limitPosition(t,e,i.contentStartPos.width,i.contentStartPos.height),o.width=i.contentStartPos.width,o.height=i.contentStartPos.height,n.fancybox.animate(i.$content,o,366))},d.prototype.endZooming=function(){var t,e,o,i,a=this,s=a.instance.current,r=a.newWidth,c=a.newHeight;a.contentLastPos&&(t=a.contentLastPos.left,e=a.contentLastPos.top,i={top:e,left:t,width:r,height:c,scaleX:1,scaleY:1},n.fancybox.setTranslate(a.$content,i),rs.width||c>s.height?a.instance.scaleToActual(a.centerPointStartX,a.centerPointStartY,150):(o=a.limitPosition(t,e,r,c),n.fancybox.animate(a.$content,o,150)))},d.prototype.onTap=function(e){var o,i=this,s=n(e.target),r=i.instance,c=r.current,l=e&&a(e)||i.startPoints,d=l[0]?l[0].x-n(t).scrollLeft()-i.stagePos.left:0,u=l[0]?l[0].y-n(t).scrollTop()-i.stagePos.top:0,f=function(t){var o=c.opts[t];if(n.isFunction(o)&&(o=o.apply(r,[c,e])),o)switch(o){case"close":r.close(i.startEvent);break;case"toggleControls":r.toggleControls();break;case"next":r.next();break;case"nextOrClose":r.group.length>1?r.next():r.close(i.startEvent);break;case"zoom":"image"==c.type&&(c.isLoaded||c.$ghost)&&(r.canPan()?r.scaleToFit():r.isScaledDown()?r.scaleToActual(d,u):r.group.length<2&&r.close(i.startEvent))}};if((!e.originalEvent||2!=e.originalEvent.button)&&(s.is("img")||!(d>s[0].clientWidth+s.offset().left))){if(s.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container"))o="Outside";else if(s.is(".fancybox-slide"))o="Slide";else{if(!r.current.$content||!r.current.$content.find(s).addBack().filter(s).length)return;o="Content"}if(i.tapped){if(clearTimeout(i.tapped),i.tapped=null,Math.abs(d-i.tapX)>50||Math.abs(u-i.tapY)>50)return this;f("dblclick"+o)}else i.tapX=d,i.tapY=u,c.opts["dblclick"+o]&&c.opts["dblclick"+o]!==c.opts["click"+o]?i.tapped=setTimeout(function(){i.tapped=null,r.isAnimating||f("click"+o)},500):f("click"+o);return this}},n(e).on("onActivate.fb",function(t,e){e&&!e.Guestures&&(e.Guestures=new d(e))}).on("beforeClose.fb",function(t,e){e&&e.Guestures&&e.Guestures.destroy()})}(window,document,jQuery),function(t,e){"use strict";e.extend(!0,e.fancybox.defaults,{btnTpl:{slideShow:''},slideShow:{autoStart:!1,speed:3e3,progress:!0}});var n=function(t){this.instance=t,this.init()};e.extend(n.prototype,{timer:null,isActive:!1,$button:null,init:function(){var t=this,n=t.instance,o=n.group[n.currIndex].opts.slideShow;t.$button=n.$refs.toolbar.find("[data-fancybox-play]").on("click",function(){t.toggle()}),n.group.length<2||!o?t.$button.hide():o.progress&&(t.$progress=e('
    ').appendTo(n.$refs.inner))},set:function(t){var n=this,o=n.instance,i=o.current;i&&(!0===t||i.opts.loop||o.currIndex'},fullScreen:{autoStart:!1}}),e(t).on(n.fullscreenchange,function(){var t=o.isFullscreen(),n=e.fancybox.getInstance();n&&(n.current&&"image"===n.current.type&&n.isAnimating&&(n.isAnimating=!1,n.update(!0,!0,0),n.isComplete||n.complete()),n.trigger("onFullscreenChange",t),n.$refs.container.toggleClass("fancybox-is-fullscreen",t),n.$refs.toolbar.find("[data-fancybox-fullscreen]").toggleClass("fancybox-button--fsenter",!t).toggleClass("fancybox-button--fsexit",t))})}e(t).on({"onInit.fb":function(t,e){var i;if(!n)return void e.$refs.toolbar.find("[data-fancybox-fullscreen]").remove();e&&e.group[e.currIndex].opts.fullScreen?(i=e.$refs.container,i.on("click.fb-fullscreen","[data-fancybox-fullscreen]",function(t){t.stopPropagation(),t.preventDefault(),o.toggle()}),e.opts.fullScreen&&!0===e.opts.fullScreen.autoStart&&o.request(),e.FullScreen=o):e&&e.$refs.toolbar.find("[data-fancybox-fullscreen]").hide()},"afterKeydown.fb":function(t,e,n,o,i){e&&e.FullScreen&&70===i&&(o.preventDefault(),e.FullScreen.toggle())},"beforeClose.fb":function(t,e){e&&e.FullScreen&&e.$refs.container.hasClass("fancybox-is-fullscreen")&&o.exit()}})}(document,jQuery),function(t,e){"use strict";var n="fancybox-thumbs";e.fancybox.defaults=e.extend(!0,{btnTpl:{thumbs:''},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"}},e.fancybox.defaults);var o=function(t){this.init(t)};e.extend(o.prototype,{$button:null,$grid:null,$list:null,isVisible:!1,isActive:!1,init:function(t){var e=this,n=t.group,o=0;e.instance=t,e.opts=n[t.currIndex].opts.thumbs,t.Thumbs=e,e.$button=t.$refs.toolbar.find("[data-fancybox-thumbs]");for(var i=0,a=n.length;i1));i++);o>1&&e.opts?(e.$button.removeAttr("style").on("click",function(){e.toggle()}),e.isActive=!0):e.$button.hide()},create:function(){var t,o=this,i=o.instance,a=o.opts.parentEl,s=[];o.$grid||(o.$grid=e('
    ').appendTo(i.$refs.container.find(a).addBack().filter(a)),o.$grid.on("click","a",function(){i.jumpTo(e(this).attr("data-index"))})),o.$list||(o.$list=e('
    ').appendTo(o.$grid)),e.each(i.group,function(e,n){t=n.thumb,t||"image"!==n.type||(t=n.src),s.push('")}),o.$list[0].innerHTML=s.join(""),"x"===o.opts.axis&&o.$list.width(parseInt(o.$grid.css("padding-right"),10)+i.group.length*o.$list.children().eq(0).outerWidth(!0))},focus:function(t){var e,n,o=this,i=o.$list,a=o.$grid;o.instance.current&&(e=i.children().removeClass("fancybox-thumbs-active").filter('[data-index="'+o.instance.current.index+'"]').addClass("fancybox-thumbs-active"),n=e.position(),"y"===o.opts.axis&&(n.top<0||n.top>i.height()-e.outerHeight())?i.stop().animate({scrollTop:i.scrollTop()+n.top},t):"x"===o.opts.axis&&(n.lefta.scrollLeft()+(a.width()-e.outerWidth()))&&i.parent().stop().animate({scrollLeft:n.left},t))},update:function(){var t=this;t.instance.$refs.container.toggleClass("fancybox-show-thumbs",this.isVisible),t.isVisible?(t.$grid||t.create(),t.instance.trigger("onThumbsShow"),t.focus(0)):t.$grid&&t.instance.trigger("onThumbsHide"),t.instance.update()},hide:function(){this.isVisible=!1,this.update()},show:function(){this.isVisible=!0,this.update()},toggle:function(){this.isVisible=!this.isVisible,this.update()}}),e(t).on({"onInit.fb":function(t,e){var n;e&&!e.Thumbs&&(n=new o(e),n.isActive&&!0===n.opts.autoStart&&n.show())},"beforeShow.fb":function(t,e,n,o){var i=e&&e.Thumbs;i&&i.isVisible&&i.focus(o?0:250)},"afterKeydown.fb":function(t,e,n,o,i){var a=e&&e.Thumbs;a&&a.isActive&&71===i&&(o.preventDefault(),a.toggle())},"beforeClose.fb":function(t,e){var n=e&&e.Thumbs;n&&n.isVisible&&!1!==n.opts.hideOnClose&&n.$grid.hide()}})}(document,jQuery),function(t,e){"use strict";function n(t){var e={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};return String(t).replace(/[&<>"'`=\/]/g,function(t){return e[t]})}e.extend(!0,e.fancybox.defaults,{btnTpl:{share:''},share:{url:function(t,e){return!t.currentHash&&"inline"!==e.type&&"html"!==e.type&&(e.origSrc||e.src)||window.location}, tpl:''}}),e(t).on("click","[data-fancybox-share]",function(){var t,o,i=e.fancybox.getInstance(),a=i.current||null;a&&("function"===e.type(a.opts.share.url)&&(t=a.opts.share.url.apply(a,[i,a])),o=a.opts.share.tpl.replace(/\{\{media\}\}/g,"image"===a.type?encodeURIComponent(a.src):"").replace(/\{\{url\}\}/g,encodeURIComponent(t)).replace(/\{\{url_raw\}\}/g,n(t)).replace(/\{\{descr\}\}/g,i.$caption?encodeURIComponent(i.$caption.text()):""),e.fancybox.open({src:i.translate(i,o),type:"html",opts:{touch:!1,animationEffect:!1,afterLoad:function(t,e){i.$refs.container.one("beforeClose.fb",function(){t.close(null,0)}),e.$content.find(".fancybox-share__button").click(function(){return window.open(this.href,"Share","width=550, height=450"),!1})},mobile:{autoFocus:!1}}}))})}(document,jQuery),function(t,e,n){"use strict";function o(){var e=t.location.hash.substr(1),n=e.split("-"),o=n.length>1&&/^\+?\d+$/.test(n[n.length-1])?parseInt(n.pop(-1),10)||1:1,i=n.join("-");return{hash:e,index:o<1?1:o,gallery:i}}function i(t){""!==t.gallery&&n("[data-fancybox='"+n.escapeSelector(t.gallery)+"']").eq(t.index-1).focus().trigger("click.fb-start")}function a(t){var e,n;return!!t&&(e=t.current?t.current.opts:t.opts,""!==(n=e.hash||(e.$orig?e.$orig.data("fancybox")||e.$orig.data("fancybox-trigger"):""))&&n)}n.escapeSelector||(n.escapeSelector=function(t){return(t+"").replace(/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t})}),n(function(){!1!==n.fancybox.defaults.hash&&(n(e).on({"onInit.fb":function(t,e){var n,i;!1!==e.group[e.currIndex].opts.hash&&(n=o(),(i=a(e))&&n.gallery&&i==n.gallery&&(e.currIndex=n.index-1))},"beforeShow.fb":function(n,o,i,s){var r;i&&!1!==i.opts.hash&&(r=a(o))&&(o.currentHash=r+(o.group.length>1?"-"+(i.index+1):""),t.location.hash!=="#"+o.currentHash&&(s&&!o.origHash&&(o.origHash=t.location.hash),o.hashTimer&&clearTimeout(o.hashTimer),o.hashTimer=setTimeout(function(){"replaceState"in t.history?(t.history[s?"pushState":"replaceState"]({},e.title,t.location.pathname+t.location.search+"#"+o.currentHash),s&&(o.hasCreatedHistory=!0)):t.location.hash=o.currentHash,o.hashTimer=null},300)))},"beforeClose.fb":function(n,o,i){i&&!1!==i.opts.hash&&(clearTimeout(o.hashTimer),o.currentHash&&o.hasCreatedHistory?t.history.back():o.currentHash&&("replaceState"in t.history?t.history.replaceState({},e.title,t.location.pathname+t.location.search+(o.origHash||"")):t.location.hash=o.origHash),o.currentHash=null)}}),n(t).on("hashchange.fb",function(){var t=o(),e=null;n.each(n(".fancybox-container").get().reverse(),function(t,o){var i=n(o).data("FancyBox");if(i&&i.currentHash)return e=i,!1}),e?e.currentHash===t.gallery+"-"+t.index||1===t.index&&e.currentHash==t.gallery||(e.currentHash=null,e.close()):""!==t.gallery&&i(t)}),setTimeout(function(){n.fancybox.getInstance()||i(o())},50))})}(window,document,jQuery),function(t,e){"use strict";var n=(new Date).getTime();e(t).on({"onInit.fb":function(t,e,o){e.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll",function(t){var o=e.current,i=(new Date).getTime();e.group.length<2||!1===o.opts.wheel||"auto"===o.opts.wheel&&"image"!==o.type||(t.preventDefault(),t.stopPropagation(),o.$slide.hasClass("fancybox-animated")||(t=t.originalEvent||t,i-n<250||(n=i,e[(-t.deltaY||-t.deltaX||t.wheelDelta||-t.detail)<0?"next":"previous"]())))})}})}(document,jQuery); !function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function(i){"use strict";var e=window.Slick||{};(e=function(){var e=0;return function(t,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(t),appendDots:i(t),arrows:!0,asNavFor:null,prevArrow:'',nextArrow:'',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i('